如何使用标签而不是整数创建数组

mar*_*zzz 1 c# arrays label

假设我有一个字符串数组,如:

myArray["hello", "my", "name", "is", "marco"]
Run Code Online (Sandbox Code Playgroud)

要访问此变量,我必须将整数作为索引.所以,如果我想要提取第三个元素,我就是这么做的:

myArray[2]
Run Code Online (Sandbox Code Playgroud)

现在,我想使用label而不是integer.所以有些例如:

myArray["canada"]="hello";
myArray["america"]="my";
myArray["brazil"]="name";
myArray["gosaldo"]="is";
myArray["italy"]="marco";
Run Code Online (Sandbox Code Playgroud)

我怎样才能在C#上做到这一点?可能吗?谢谢

Sve*_*ven 9

这称为关联数组,C#不直接支持它们.但是,你可以用a实现完全相同的效果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";
Run Code Online (Sandbox Code Playgroud)