将不同的对象类型添加到ac#4.0集合中

Sha*_*rpD 7 c#-4.0

我有一个函数,它根据传递给该函数的参数返回不同类型的对象.是否可以根据C#4.0中的某些标识符将这些不同的对象类型添加到集合中?通常我们做这样的List或List,但我想要一个可以添加任何类型对象的集合.

Jam*_*ate 11

List<object>您可能希望定义一个接口,例如IListableObject包含您的对象需要实现的一些方法,而不是像其他海报一样推荐.这将使使用这些对象的任何代码更容易编写,并防止不需要的对象进入该行的集合.


lep*_*pie 8

是的,它被称为object.例如:

var objlist = new List<object>();
objlist.Add(1);
objlist.Add(true);
objlist.Add("hello");
Run Code Online (Sandbox Code Playgroud)


Dar*_*rov 5

您可以使用object[], List<object>, ArrayList , IEnumerable , ... 但如果这些类型有一个共同的基类型,最好坚持使用强类型集合。