当前位置: 首页 > article >正文

C#中的集合初始化器

C#中的集合初始化器是一种简洁的语法,允许在声明集合的同时初始化其元素。这种语法特别适用于初始化实现了IEnumerable接口并具有Add方法的集合类型,如List<T>Dictionary<TKey, TValue>等。

集合初始化器的基本用法

集合初始化器的基本语法如下:

var collection = new CollectionType<T> {
    element1,
    element2,
    ...
    elementN
};

或者,对于需要指定键和值的集合(如字典),可以使用以下语法:

var dictionary = new Dictionary<TKey, TValue> {
    { key1, value1 },
    { key2, value2 },
    ...
    { keyN, valueN }
};

使用集合初始化器初始化集合的示例

  1. 初始化List
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

这段代码创建了一个List<int>对象,并使用集合初始化器初始化了五个元素。

  1. 初始化Dictionary
Dictionary<string, int> ages = new Dictionary<string, int> {
    { "Alice", 30 },
    { "Bob", 25 },
    { "Charlie", 35 }
};

这段代码创建了一个Dictionary<string, int>对象,并使用集合初始化器初始化了三个键值对。

  1. 使用对象初始化器初始化集合中的对象

当集合的元素是对象时,可以使用对象初始化器来初始化这些对象。例如:

List<Person> people = new List<Person> {
    new Person { Name = "Alice", Age = 30 },
    new Person { Name = "Bob", Age = 25 },
    new Person { Name = "Charlie", Age = 35 }
};

这段代码假设有一个Person类,具有NameAge属性。它创建了一个List<Person>对象,并使用集合初始化器和对象初始化器初始化了三个Person对象。

集合初始化器的优势

  • 简洁性:集合初始化器提供了一种简洁的语法来初始化集合,避免了在代码中显式调用Add方法。
  • 可读性:使用集合初始化器可以使代码更加易读,特别是当需要初始化大量元素时。
  • 灵活性:集合初始化器可以与对象初始化器结合使用,允许在初始化集合的同时初始化集合中的对象。

http://www.kler.cn/a/420553.html

相关文章:

  • 数据仓库的概念
  • 故障诊断 | Transformer-LSTM组合模型的故障诊断(Matlab)
  • TinyXML2的一些用法
  • 用postgresql实现数组中的模糊字符串查询
  • 前端面试热门题(二)[html\css\js\node\vue)
  • hint: Updates were rejected because the tip of your current branch is behind!
  • TongRDS分布式内存数据缓存中间件
  • 《数据结构》学习系列——图(下)
  • flink学习(14)—— 双流join
  • Redis开发05:使用stackexchange.redis库对redis进行增删改查
  • 前端【9种前端常见的设计模式】
  • 详解Qt Pdf之QPdfBookmarkModel 读取pdf标签页并显示
  • 创建 EC2块存储磁盘并将其连接到 Linux 实例
  • Vue3.5新版本特性一览-数组操作10倍性能提升+响应式属性解构+自定义组件优化+ssr水合改善+teleport支持defer!
  • Maven、JAVAWeb、Servlet
  • CS144 (二)
  • Redhat8部署docker27.3.0 防火墙策略怎样配置
  • 使用pymupdf提取PDF文档中的文字和其颜色
  • 前端基础的讲解-JS(18)
  • CentOS修改yum.repos.d源,避免“Could not resolve host: mirrorlist.centos.org”错误
  • 【C++】多线程
  • 如何成为一名优秀的炼丹师(三)
  • Docker下的seafile修改配置参数
  • MySQL底层概述—6.索引原理
  • centos搭建keepalive
  • 【AI】Sklearn