如何:使用集合初始值设定项初始化字典

 

Dictionary<TKey, TValue> 包含键/值对集合。  它的 Add 方法采用两个参数,一个用于键,另一个用于值。  若要初始化 Dictionary<TKey, TValue> 或其 Add 方法采用多个参数的任何集合,请将每组参数括在大括号中,如下面的示例所示。  

示例

在下面的代码示例中,使用 StudentName 类型的实例初始化一个 Dictionary<TKey, TValue>

class StudentName
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int ID { get; set; }
}

class CollInit
{
    Dictionary<int, StudentName> students = new Dictionary<int, StudentName>()
    {
        { 111, new StudentName {FirstName="Sachin", LastName="Karnik", ID=211}},
        { 112, new StudentName {FirstName="Dina", LastName="Salimzianova", ID=317}},
        { 113, new StudentName {FirstName="Andy", LastName="Ruth", ID=198}}
    };
}

请注意集合的每个元素中的两对大括号。  最内层的大括号括起了 StudentName 的对象初始值,而最外层的大括号括起了将要添加到 students Dictionary<TKey, TValue> 中的键/值对的初始值。  最后,字典的整个集合初始值括在一对大括号内。  

编译代码

若要运行这段代码,请将该类复制并粘贴到已经在 Visual Studio 中创建的 Visual C# 控制台应用程序项目中。  默认情况下,此项目针对的是 .NET Framework 3.5 版,并且具有一个对 System.Core.dll 的引用和一条针对 System.Linq 的 using 指令。  如果项目不满足上面的一个或多个要求,则您可以手动添加它们。  有关更多信息,请参见How to: Create a LINQ Project  

请参阅