在MQL4/MQL5中,Enum是一种用于定义一组相关常量的数据类型。它可以用于表示一组预定义的值,但是在MQL4/MQL5中,Enum不能有自己的方法。Enum只能用于定义常量,并且这些常量的值必须是整数类型。
在MQL4/MQL5中,Enum只能存储整数值,不能直接存储字符串。如果需要将字符串作为值存储在枚举中,可以使用字符串常量的索引来代表不同的字符串。例如,可以定义一个字符串数组,然后使用数组的索引作为枚举的值来表示不同的字符串。
以下是一个示例:
string[] strings = {"String1", "String2", "String3"};
enum StringsEnum
{
String1 = 0,
String2 = 1,
String3 = 2
}
// 使用枚举值来获取对应的字符串
string GetString(StringsEnum value)
{
return strings[value];
}
// 使用字符串来获取对应的枚举值
StringsEnum GetEnum(string str)
{
for (int i = 0; i < ArraySize(strings); i++)
{
if (strings[i] == str)
return (StringsEnum)i;
}
return -1;
}
在上面的示例中,定义了一个字符串数组strings
,然后定义了一个枚举StringsEnum
,枚举的值对应了字符串数组的索引。通过GetString
函数可以根据枚举值获取对应的字符串,通过GetEnum
函数可以根据字符串获取对应的枚举值。
这样,就可以在MQL4/MQL5中实现将字符串作为值存储在枚举中的功能。
领取专属 10元无门槛券
手把手带您无忧上云