我想对下一段代码使用集合初始值设定项:

public Dictionary<int, string> GetNames()
{
    Dictionary<int, string> names = new Dictionary<int, string>();
    names.Add(1, "Adam");
    names.Add(2, "Bart");
    names.Add(3, "Charlie");
    return names;
}

所以通常应该是这样的:

return new Dictionary<int, string>
{ 
   1, "Adam",
   2, "Bart"
   ...

但正确的语法是什么?

推荐答案

var names = new Dictionary<int, string> {
  { 1, "Adam" },
  { 2, "Bart" },
  { 3, "Charlie" }
};

.net相关问答推荐

如何使用.NET8MapIdentityApi设置OpenApi操作ID

是否存在指定的(子)索引分隔符?

dotnet ef dbcontext scaffold command --data-annotations 或 -d 命令行参数似乎不起作用

双精度的 C++ 和 C# 十六进制值之间的差异

无法加载文件或程序集 Microsoft.Extensions.DependencyInjection.Abstractions,版本 = 1.1.0.0

Silverlight 与 Flex

在 .NET C# 中存储加密密钥的最佳方式

如何在 C# 中创建 Word 文档?

有什么方法可以在不重新编译的情况下覆盖 .NET Windows 服务名称?

如何从字符串中删除所有字母字符?

.net 服务总线建议?

如何让 .NET 的 Path.Combine 将正斜杠转换为反斜杠?

隐式与显式接口实现

是否有 TLS 1.2 的 .NET 实现?

我应该在 LINQ 查询中使用两个where子句还是&&?

是否有 Linq 方法可以将单个项目添加到 IEnumerable

如何从 XDocument 获取 Xml 作为字符串?

Moq - 不可覆盖的成员不能用于设置/验证表达式

.Net 中 AOP 的最佳实现是什么?

System.Array.CopyTo() 和 System.Array.Clone() 之间的区别