使用Value属性作为键的字典
本文关键字:字典 Value 属性 使用 | 更新日期: 2023-09-27 17:52:16
早在2008年左右,我正在使用一个BCL字典,它根据它所存储的对象值的属性建立键。现在我找不到那本字典了。有人能提醒我一下吗?以下是我对它的记忆:
- 它需要被用作
实现一个接口,该接口具有确定哪个字段/成员将被视为键的方法或属性。 - 是在ServiceModel命名空间中使用或定义的字典。
我尝试使用反射器工具查找整个BCL中的所有字典类,但我没有发现它。也许"字典"这个词并不在我曾经使用过的这门魔法课的名称中。
也许您还记得KeyedCollection<,>
抽象类?它根据你想要的任何东西建立了一个键。
public class MyObject
{
public string Key
{
get;
set;
}
public int Foo
{
get;
set;
}
}
public class MyObjectCollection : KeyedCollection<string, MyObject>
{
protected override string GetKeyForItem(MyObject item)
{
return item.Key;
}
}
在实践中,我发现LINQ的ToDictionary()
更有用。
http://msdn.microsoft.com/en-us/library/ms132438 (v = vs.110) . aspx