请解释 C# 中集合初始化器的概念,并说明如何利用它来初始化集合类型。
考察说明
考查对 C# 集合初始化器语法及其应用场景的理解。
回答思路
- 【回答框架 1】集合初始化器是 C# 3.0 引入的语法糖,允许在创建集合对象时直接以花括号形式添加初始元素,编译器会将其转换为对集合的 Add 方法或索引器的连续调用。
- 【回答框架 2】使用方式:在 new 表达式后紧跟花括号,内部用逗号分隔元素;对于字典类型,每个元素用花括号包裹键值对,如 new Dictionary<string,int> { {"a",1}, {"b",2} }。
- 【回答框架 3】该语法适用于实现了 IEnumerable 且具备公共 Add 方法的集合类型,包括 List、Dictionary、HashSet 等,也支持自定义集合类。
- 【回答框架 4】初始化器可与其他初始化语法(如对象初始化器)组合使用,提升代码可读性和声明式风格。
- 【回答框架 5】注意:初始化器依赖 Add 方法,若集合为只读或 Add 方法不可访问,则无法使用。
- 【关键点 1】集合初始化器是语法糖,编译后调用 Add 方法。
- 【关键点 2】适用于实现 IEnumerable 且有公共 Add 方法的类型。
- 【关键点 3】字典初始化使用键值对花括号嵌套。
- 【关键点 4】可与对象初始化器组合,增强可读性。
- 【关键点 5】只读集合或缺少 Add 方法时不可用。