您試圖重新關聯數組 - 在C#中,我通常會用一個字典
Dictionary<string,string> stringArray = new Dictionary<string,string>();
然後你可以用兩種方法分配數值
stringArray["field1"] = "value1";
stringArray.Add("field2","value2");
個
字典可以用來存儲任何鍵/值對組合,如:
Dictionary<int,string>()
Dictionary<long,KeyValuePair<string,long>>()
etc.
如果你絕對知道,你只需要一個鍵時,將要返回的值是一個字符串,字符串那麼你也可以使用的NameValueCollection
NameValueCollection stringArray = new NameValueCollection();
,並再次,你可以使用兩個相同的方法來添加值
stringArray["field1"] = "value1";
stringArray.Add("field2","value2");
兩個大tatypes也有其他方便的方法,如
stringArray.Clear(); // make it empty
stringArray.Remove("field1"); // remove field1 but leave everything else
檢查出你在Visual Studio智能感知更多的好東西
其他節點
注意,一個NameValueColelction
不(僅僅)提供了一個單一對一映射 - 您可以將多個值與單個名稱相關聯。
var map = new NameValueCollection();
map.Add("Bar", "Foo");
map.Add("Bar", "Buz");
// Prints 'Foo,Buz' - the comma-separated list of all values
// associated with the name 'Bar'.
Console.WriteLine(map["Bar"]);
這也有強類型的優勢。得愛泛型。 – 2010-02-04 22:26:28
@Steve:迄今爲止在CLR 2.0 **中實現的最佳語言功能。 – 2010-02-04 22:28:20
確實。大多數時候,這些低級別的優化並不是真正的讚賞,因爲它往往不是瓶頸所在。但是我能夠觀察到性能優勢的幾次之一就是我爲井字遊戲寫的一些AI。一旦我切換到泛型,並且無需進行任何類型轉換,我的性能提高了25%以上。 – 2010-02-04 22:56:39