2012-10-29 97 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提到,这是一个痛苦后,以对付他们。

如果这些值是以某种方式相关的,那么您最好写一个类来保存它们。这会给你强大的输入,值将被命名,以便查看代码的其他人有机会了解正在发生的事情。

相关问题