我一直在學習C#2個月。之前,我學會了PHP和看到它有一個數組,其中的指數是一個字符串,像這樣:是否C#有索引數組是PHP的字符串?
$John["age"] = 21;
$John["location"] = "Vietnam";
重要的是要記住,我們設置爲一個數組元素是非常有用的。我試圖找出C#是否支持該數組類型,但我還沒有看到任何答案。
C#是否有這樣的數組?如果有,我該如何創建它?
我一直在學習C#2個月。之前,我學會了PHP和看到它有一個數組,其中的指數是一個字符串,像這樣:是否C#有索引數組是PHP的字符串?
$John["age"] = 21;
$John["location"] = "Vietnam";
重要的是要記住,我們設置爲一個數組元素是非常有用的。我試圖找出C#是否支持該數組類型,但我還沒有看到任何答案。
C#是否有這樣的數組?如果有,我該如何創建它?
C#支持索引的任何類型的對象。實施的是System.Collections.Generic.Dictionary<T1,T2>
。你可以申報這樣的一個:
Dictionary<string, string> myDictionary = new Dictionary<string, string>();
您不必使用Add()來添加項目 - 在PHP示例中分配它們也會添加它們。 – Lucero
謝謝,Lucero我會編輯這部分。 –
是的,這是一個關聯數組,用C#代表通用的Dictionary<TKey, TValue>
類或非通用的Hashtable
。
您的代碼將只可能與Hashmap
,因爲值不是全部相同的類型。不過,我強烈建議你重新考慮設計。
+1 - 你打敗了我:-p – Lucero
請問下降者請如此評價原因?否則,downvote是毫無意義的,因爲我無法改進答案。 –
嘿Daniel,你也可以用'Dictionary
使用System.Collections.Generic.Dictionary<T1,T2>
作爲其他說。爲了完成你的知識,你應該知道你可以控制自己的行爲[]
。例如:
public class MyClass
{
public string this[string someArg]
{
get { return "You called this with " + someArg; }
}
}
class Program
{
void Main()
{
MyClass x = new MyClass();
Console.WriteLine(x["something"]);
}
}
會產生「你用這個東西叫這個」。
更多關於此的documentation
僅供參考,這被稱爲關聯數組。 – nickb
http://msdn.microsoft.com/en-us/library/xfhwa508.aspx –