泛型列表中的匿名类
在 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 list = new List(); 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# 泛型列表中吗?的详细内容。更多信息请关注PHP中文网其他相关文章!