在 C# 3.0 中,您可以使用以下语法创建匿名类
var o = new { Id = 1, Name = "Foo" };
有没有办法将这些匿名类添加到通用列表中?
例子:
var o = new { Id = 1, Name = "Foo" };
var o1 = new { Id = 2, Name = "Bar" };
List<var> list = new List<var>();
list.Add(o);
list.Add(o1);
另一个例子:
List<var> list = new List<var>();
while (....)
{
....
list.Add(new {Id = x, Name = y});
....
}
最佳答案
你可以这样做:
var list = new[] { o, o1 }.ToList();
有很多方法可以为这只猫蒙皮,但基本上它们都会在某处使用类型推断 - 这意味着您必须调用通用方法(可能作为扩展方法)。另一个例子可能是:
public static List<T> CreateList<T>(params T[] elements)
{
return new List<T>(elements);
}
var list = CreateList(o, o1);
你明白了:)
关于c# - 匿名类的通用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/612689/