2012-10-29 67 views
3

在C#中,我可以在ArrayList中存儲多個數據類型嗎? 喜歡;是否可以使用C#將多個數據類型存儲在ArrayList中?

myArrayList.Add(false); 
myArrayList.Add("abc"); 
myarrayList.Add(26); 
myArrayList.Add(obj); 

我知道我可以做一個數據表或它的一類。

但請讓我知道:這可能嗎?如果是這樣,那麼作爲集合課的缺點是什麼?

+2

是的,這是可能的(它會按照打字的方式工作!),但它也常常是PITA以後處理「一堆」對象「。靜態/強打字很好,使用它 - 對此我建議使用'List '而不是[舊]'ArrayList'。 – 2012-10-29 06:31:06

+1

你在這裏考慮的用例是什麼? – Bedasso

回答

5

是的,你可以存儲這樣

ArrayList aa = new ArrayList(); 
aa.Add(false); 
aa.Add(1); 
aa.Add("Name"); 

的ArrayList屬於天,C#語言沒有仿製藥。它已被棄用贊成列表。除非您必須與使用它的舊API接口,否則不應在目標.NET> = 2.0的新代碼中使用ArrayList。

ArrayList vs List<> in C#

+0

**另一個解決方案**創建匿名類型的通用列表。檢查[this](https://stackoverflow.com/a/47885255/2218697)。 – stom

1

我想List<object>幫助你。

0

是的,你可以存儲不同類型的對象在一個ArrayList,但是,像PST提到,這是一個痛苦後,以對付他們。

如果這些值是以某種方式相關的,那麼您最好寫一個類來保存它們。這會給你強大的輸入,值將被命名,以便查看代碼的其他人有機會了解正在發生的事情。

相關問題