首页 > 后端开发 > C++ > 可以将匿名类添加到 C# 中的泛型列表中吗?

可以将匿名类添加到 C# 中的泛型列表中吗?

DDD
发布: 2025-01-04 07:21:35
原创
556 人浏览过

Can Anonymous Classes Be Added to Generic Lists in C#?

将匿名类添加到 C 中的通用列表

在 C# 3.0 中,匿名类提供了一种使用动态生成的属性创建轻量级对象的便捷方法。然而,问题出现了:这些匿名类可以合并到通用列表中吗?

列表编译技术

要解决这个问题,你有几个选择:

  1. 初始化数组:您可以创建一个匿名类数组,然后使用.ToList() 方法将其转换为列表。

    var list = new[] { o, o1 }.ToList();
    登录后复制
  2. 具有类型推断的泛型方法:通过使用泛型方法,您可以避免显式指定列表类型。

    public static List<T> CreateList<T>(params T[] elements)
    {
        return new List<T>(elements);
    }
    
    var list = CreateList(o, o1);
    登录后复制

示例用法

让我们提供一些工作示例:

// Example 1: Adding to an Existing List
var list = new List<dynamic>();
list.Add(new { Id = 1, Name = "Foo" });
list.Add(new { Id = 2, Name = "Bar" });

// Example 2: Populating a List in a Loop
var list = new List<dynamic>();

while (...)
{
    list.Add(new { Id = x, Name = y });
}
登录后复制

在这些场景中,匿名类被有效地添加到通用列表中。请注意,列表的类型保持动态,允许添加具有不同属性集的匿名类,而无需类型验证。

以上是可以将匿名类添加到 C# 中的泛型列表中吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板