2013-05-16 120 views
-6

我想要一個屬於某些對象的其他對象的列表。 是否有可能像這樣創建一個列表?列表和對象列表

List<Object, List<OtherObject>> 

或者我應該創建一個新的類嗎?

List<NewClass> 

或者我應該做一些其他的整體嗎?大小是動態的,所以我不想使用數組。

我該如何做到這一點?

+4

什麼是你想實現什麼? –

+0

列表只需要模板中的一個參數:http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx – Kasyx

+0

@AlcariTheMad我不明白爲什麼我必須回答這樣的問題。但是如果你真的想知道,我想要一個'OtherObject'列表,它們都屬於某個'Object's。那不是一個奇怪的問題嗎?就像我想要我的小組中每個孩子想要的零食清單... – Joetjah

回答

4

你想要一個詞典<>,例如

Dictionary<Object, List<OtherObject>> 

哪裏Object是關鍵,List<OtherObject>是價值

+0

帶對象鍵的Dictionary類通常不是一個好主意。唯一需要的Dictionary行爲是IEnumerable >接口,因此KeyValuePair的List應該足夠了。 – Ayaro

+0

將對象存儲爲字典中的鍵是個好主意。只爲Knowlegde如何字典將知道任何重複的密鑰 –

0

嘗試使用

Dictionary<Object, List<OtherObject>>

希望我幫助

+2

這個答案downvote是不合理的。 –

+1

是的,你真的通過從DaveDev複製答案!!! –

+0

對不起。 。我會刪除這條評論。 。我沒有複製答案。它只是我的互聯網連接速度緩慢。立即刷新.didnt。我很抱歉 –

1

您可以使用Tuple<Object, List<OtherObject>>達到你想要的東西。

元組是指當您不想創建特殊類時的屬性組合。如果需要,您可以使用Tuple<Object, AnotherObject, AnotherAnotherObject>

您的代碼將是這樣的:

List<Tuple<Object, List<OtherObject>>> list; 

,並與它的工作:

foreach(var tuple in list) 
{ 
    var object = tuple.Item1; 
    var innerList = tuple.Item2; 
}