【发布时间】:2010-10-15 16:18:50
【问题描述】:
我想创建一个具有两个属性的类,例如key & value.
我想要一种方法,它可以基于key 给我一个value。
那么代码是什么?我知道Hashtable 但如何在 C# 中实现它?我可以使用string 作为密钥吗?
【问题讨论】:
标签: c# dictionary hashtable
我想创建一个具有两个属性的类,例如key & value.
我想要一种方法,它可以基于key 给我一个value。
那么代码是什么?我知道Hashtable 但如何在 C# 中实现它?我可以使用string 作为密钥吗?
【问题讨论】:
标签: c# dictionary hashtable
查看Dictionary<TKey, TValue>类:http://msdn.microsoft.com/en-us/library/xfhwa508.aspx
【讨论】:
使用Dictionary<string, TypeOfYourVAlue>
【讨论】:
Dictionary<string, T> 可以满足您的所有需求。
【讨论】:
这是实现这一点的最佳方式(我使用 Int32 作为存储类型的示例):
Dictionary<String,Int32> dictionary = new Dictionary<String,Int32>
{
// this just loads up the list with
// some dummy data - notice that the
// key is a string and the value is an int
{ "one", 1 },
{ "two", 2 },
{ "three", 3 },
};
现在您可以像这样从 Dictionary 中获取值:
dictionary["one"]; // returns 1
dictionary["two"]; // returns 2
【讨论】:
还有更多的实现。 HashSet 是为集合操作而设计的,KeyedCollection 是一个易于序列化的哈希表。
【讨论】:
...还有System.Collections.Specialized.NameValueCollection,大致相当于Dictionary<string,string>,但允许在同一个键值下存储多个字符串值。引用 MSDN 文档:
这个类可以用于标题, 查询字符串和表单数据。
【讨论】: