我需要組裝列表的列表,但整個想法聽起來不太漂亮。 這聽起來很麻煩。有一些其他的模式來保存列表。列表的味道不好,我的其他選項是什麼
我的第一個雖然是使用Arraylist的arrayList。
C#,.NET-2
更多:將被存儲然後數量的項目是小,但總是在變化。
注: 我就這個問題使用的ArrayList的修正:
What's wrong with using an ArrayList in .net-2.0
我需要組裝列表的列表,但整個想法聽起來不太漂亮。 這聽起來很麻煩。有一些其他的模式來保存列表。列表的味道不好,我的其他選項是什麼
我的第一個雖然是使用Arraylist的arrayList。
C#,.NET-2
更多:將被存儲然後數量的項目是小,但總是在變化。
注: 我就這個問題使用的ArrayList的修正:
What's wrong with using an ArrayList in .net-2.0
沒有問題。我已經使用過它,它適合我當時需要的東西。該模式是列表的列表。 :)
列表清單本身不是一種難聞的氣味。如果您的列表全部大小相同,則可能需要使用二維數組,例如int[2,2]
,但是如果列表的長度不同,那麼列表的列表是正確的路線,而不是正式編碼一個衣衫襤褸的二維數組的類。
您也可以直接在C#中使用鋸齒形數組 - 不需要「爲破損的2D數組正式編碼類」 - 已經在C# 。 – 2010-07-24 19:46:23
如何使用在自定義類中創建的對象?
例如,客戶可以有多個地址。創建一個具有Address屬性的Customer對象。然後,您可以擁有一個客戶的集合(數組,ArrayList等),並且每個客戶都可以擁有一組地址。
這適合多種信息,如產品類別中的產品,部門中的員工。
這樣處理層次關係更容易進行編碼。
你可以,但最好把它包裝到一個具有明確定義的公共方法的類中。
您當然可以使用泛型列表或非泛型變體ArrayList來做到這一點。
List<List<string>> listOfLists = new List<List<string>>();
listOfLists.Add(new List<string>());
listOfLists.Add(new List<string>());
ArrayList stringListOfStringLists = new ArrayList();
stringListOfStringLists.Add(new ArrayList());
stringListOfStringLists.Add(new ArrayList());
-1提到ArrayList是一個選項。經驗法則,從來沒有使用ArrayList。 – tster 2010-07-24 19:23:56
爲什麼不呢? ArrayList有什麼問題? – 2010-07-24 19:30:42
@約翰Kugelman - 類型安全,拳擊和拆箱費用,即表現 – 2010-07-24 19:40:38
從不使用ArrayList。 – tster 2010-07-24 19:24:16
我以前見過那條評論。數組列表有什麼問題 – fishhead 2010-07-24 19:25:53
缺少類型安全。 – recursive 2010-07-24 19:49:30