我不知道是否有可能創建不同類型的二維List
。換句話說,我不知道這樣的事情是可能的:不同類型的二維列表
List<T, U> list = new List<T, U>();
其中T
和U
任何兩種不同類型。
是否有可能實現這一點,而不訴諸於struct
s或class
es?
我不知道是否有可能創建不同類型的二維List
。換句話說,我不知道這樣的事情是可能的:不同類型的二維列表
List<T, U> list = new List<T, U>();
其中T
和U
任何兩種不同類型。
是否有可能實現這一點,而不訴諸於struct
s或class
es?
這聽起來像你對我正在尋找的是一個Dictionary<T,V>
:
var dictionary = new Dictionary<int, string>();
dictionary[3] = "three";
dictionary[7] = "seven";
foreach(var keyValuePair in dictionary)
{
Console.WriteLine("{0}: {1}", keyValuePair.Key, keyValuePair.Value);
}
// 3: three
// 7: seven
第一種方法:繼承。但你可以去創建一個List<Object>
。對象不關心你在那裏扔什麼。但是限制到兩個類別,不,這是不可能的。
這在很多層面上都是一個壞主意。他可以放置任何物品,但是如果不投射它,他將無法訪問任何物品。對於任何兩值的「對象」,您需要一個類或一個結構,所以不妨繼續創建一個類(這是問題不要做的)。無論如何,如果你想要一個對象列表,不妨使用舊的'ArrayList',但建議不要這樣做。 –
我知道,但它確實有效。但看到其他答案,我可能會誤解這個問題。 –
你可以做這樣的事情,但我不知道這是否是你所需要的:
List<Tuple<int, string>> list = new List<Tuple<int, string>>();
list.Add(Tuple.Create<int, string>(2, "two"));
如果OP需要能夠將整數映射到多個字符串,這是一個很好的解決方案。一個'Dictionary'每個鍵需要一個值。 –
@ p.s.w.g我不同意這一點。你可以簡單地使用一個'Dictionary
@SimonBelanger當然可以。這也是我的願望。我說這是一個很好的解決方案,並不是它很理想。 –
你想用這個完成什麼? –
你想要得到像Dictionary一樣的東西嗎?或者,請再解釋一下自己? – Styxxy
我想保留一個索引列表,並分別爲'int'和'string'類型的值。 – Raptor