我有这个枚举:
public enum SymbolPair
{
AUDJPY = 0, AUDNZD, AUDUSD, CADJPY, CHFJPY, EURCHF, EURGBP, EURJPY, EURUSD, GBPJPY, GBPUSD, NZDUSD, USDCAD, USDCHF, USDJPY
}
我有一组符号字符串
List<string> symbols = new List<string>(){ };
符号根据输入参数中输入的符号动态加载到集合中。它们可以按任何顺序和任何计数加载。
因此,例如一组可以加载“EUR/USD”、“CHFJPY”、“GBPUSD”
我需要找到枚举类型的索引对应的索引。例如,在这种情况下,我需要索引 8、4 和 10。
有人可以给出一个想法,如何使用 linq 或代表或任何其他有效的方式来做到这一点。谢谢
编辑:我需要这些方面的东西,但这不起作用,因为 linq 确实返回单个值。我怎样才能得到那个单一的索引?
SymbolPair[] enumList = (SymbolPair[])Enum.GetValues(typeof(SymbolPair));
foreach (string symbol in symbols)
{
int instrumentIndex = from symbolPair in enumList
where symbolPair.ToString() == symbol
select (int)symbolPair;
}