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方法。
  • 可读性:使用集合初始化器可以使代码更加易读,特别是当需要初始化大量元素时。
  • 灵活性:集合初始化器可以与对象初始化器结合使用,允许在初始化集合的同时初始化集合中的对象。
相关推荐
Wenweno0o19 小时前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
chenjingming66620 小时前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
cch891820 小时前
Python主流框架全解析
开发语言·python
不爱吃炸鸡柳20 小时前
C++ STL list 超详细解析:从接口使用到模拟实现
开发语言·c++·list
十五年专注C++开发20 小时前
RTTR: 一款MIT 协议开源的 C++ 运行时反射库
开发语言·c++·反射
Momentary_SixthSense20 小时前
设计模式之工厂模式
java·开发语言·设计模式
‎ദ്ദിᵔ.˛.ᵔ₎20 小时前
STL 栈 队列
开发语言·c++
勿忘,瞬间20 小时前
数据结构—顺序表
java·开发语言
张張40821 小时前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_4235339921 小时前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python