首页 >后端开发 >C++ >匿名类可以存储在 C# 泛型列表中吗?

匿名类可以存储在 C# 泛型列表中吗?

Patricia Arquette
Patricia Arquette原创
2025-01-04 12:19:36889浏览

Can Anonymous Classes Be Stored in C# Generic Lists?

泛型列表中的匿名类

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn