我有这个枚举标志:
[Flags()]
public enum Levels
{
Beginner, Medium, Advanced, Master
}
我有一个名为“Bank”的属性,其中包含一个
Dictionary<Levels, ...>
,而Levels是您可以选择的可能选项。假设我的第一个
KeyValuePair
包含以下内容:Key = Levels.Beginner | Levels.Medium | Levels. Advanced
。所以,如果我在字典中输入Levels.Medium
,它将返回最后一个对象,因为Medium是一种可能的值。public Worksheet LoadWorksheet(Levels level)
{
Worksheet worksheet = new Worksheet(this.Bank[level].Value, this.Bank[level].Key);
return worksheet;
}
但是不幸的是,当我这样做时,会出现错误指出该键不存在。我应该怎么做才能匹配该键呢?
Dictionary
上搜索,就好像它是一个IEnumerable<KeyValuePair>
,因此您基本上错过了大部分Dictionary
的性能提升。您没有使用内部哈希表的快速查找功能。 - Avner Shahar-Kashtan