C#中的集合初始化器

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

集合初始化器的基本用法

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

csharp 复制代码
var collection = new CollectionType<T> {
    element1,
    element2,
    ...
    elementN
};

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

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

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

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

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

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

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

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

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

csharp 复制代码
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方法。
  • 可读性:使用集合初始化器可以使代码更加易读,特别是当需要初始化大量元素时。
  • 灵活性:集合初始化器可以与对象初始化器结合使用,允许在初始化集合的同时初始化集合中的对象。
相关推荐
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
神仙别闹2 天前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++
霍霍的袁2 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
kybs19912 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
孙启超2 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int2 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
CoderYanger2 天前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
伞伞悦读2 天前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json