小编典典

匿名类的通用列表

c#

在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});
    ....
}

阅读 294

收藏
2020-05-19

共1个答案

小编典典

您可以这样做:

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);

你明白了:)

2020-05-19