2011-06-16 39 views
1

假设我有一个字符串像数组:如何创建带有标签的数组,而不是整数

myArray["hello", "my", "name", "is", "marco"] 

访问这个变量,我不得不把整数作为指标。所以,如果我想要提取第三个元素,我只是做:

myArray[2] 

现在,我想使用标签,而不是整数。 因此,例如像出头:

myArray["canada"]="hello"; 
myArray["america"]="my"; 
myArray["brazil"]="name"; 
myArray["gosaldo"]="is"; 
myArray["italy"]="marco"; 

我如何能做到这一点的C#?可能吗?谢谢

回答

9

这就是所谓的关联数组,而C#不直接支持它们。但是,您可以使用Dictionary<TKey, TValue>实现完全相同的效果。您可以使用Add方法(如果您尝试添加一个已存在的键会引发异常)或直接使用索引器(如果您使用相同的键两次覆盖现有值)来添加值。

Dictionary<string, string> dict = new Dictionary<string, string>(); 

dict["canada"] = "hello"; 
dict["america"] = "my"; 
dict["brazil"] = "name"; 
dict["gosaldo"] = "is"; 
dict["italy"] = "marco"; 
0

您正在查找关联数组,我认为this question是您正在查找的内容。

1

C#有一个Dictionary类(和接口)来处理这种存储。例如:

Dictionary<string, string> dict = new Dictionary<string, string>(); 
dict.Add("canada", "hello"); 
dict.Add("america", "my"); 
dict.Add("brazil", "name"); 
dict.Add("gosaldo", "is"); 

下面是文档:http://msdn.microsoft.com/en-us/library/xfhwa508.aspx

1

随着你就可以设置每个项目作为一个字符串的“钥匙”,并给他们的字符串“值”的字典。例如:

Dictionary<string, string> dic = new Dictionary<string, string>(); 
dic.Add("canada", "hello"); 
相关问题