You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用collection expressions创建带初始值的Dictionary?

使用C#12集合表达式创建带初始值的Dictionary

当然有办法,C#12的集合表达式针对字典类型提供了专门的键: 值语法来初始化带初始值的实例,正确写法如下:

Dictionary<string, int> d = ["a": 1, "b": 2, "c": 3];

为什么你之前的写法无法编译?

  • [{ "a", 1 }]:这种语法不符合集合表达式对字典初始化的规则,编译器无法识别这个未明确标记的组合是键值对;
  • [("a", 1)]:元组不会被隐式转换为字典所需的键值项,编译器无法自动映射到Dictionary的键值结构;
  • [new KeyValuePair<string, int>("a", 1)]:C#12原生集合表达式不支持直接用KeyValuePair序列初始化Dictionary,虽然可以通过ToDictionary扩展方法间接实现,但远不如冒号语法简洁。

这个键: 值的语法是C#12专门为字典类型的集合表达式设计的,编译器会自动处理键值对的映射和字典实例的创建。

内容的提问来源于stack exchange,提问作者nalka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 01:14:58