Gewusst wie: Initialisieren eines Wörterbuchs mit einem Auflistungsinitialisierer (C#-Programmierhandbuch)How to: Initialize a Dictionary with a Collection Initializer (C# Programming Guide)

Eine Dictionary<TKey,TValue> enthält eine Sammlung von Schlüssel-Wert-Paaren.A Dictionary<TKey,TValue> contains a collection of key/value pairs. Die Add-Methode nimmt zwei Parameter an, einen für den Schlüssel und einen für den Wert.Its Add method takes two parameters, one for the key and one for the value. Um eine Dictionary<TKey,TValue>-Klasse oder eine beliebige Sammlung zu initialisieren, deren Add-Methode mehrere Parameter annimmt, schließen Sie einen Satz von Parametern in Klammern ein, so wie im folgenden Beispiel dargestellt.To initialize a Dictionary<TKey,TValue>, or any collection whose Add method takes multiple parameters, enclose each set of parameters in braces as shown in the following example.

BeispielExample

Im folgenden Codebeispiel wird Dictionary<TKey,TValue> mit Instanzen vom Typ StudentName initialisiert.In the following code example, a Dictionary<TKey,TValue> is initialized with instances of type StudentName.

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}}
    };
}

Beachten Sie die zwei Paare geschweifter Klammern in jedem Element der Auflistung.Note the two pairs of braces in each element of the collection. Die inneren Klammern umschließen den Objektinitialisierer für StudentName, und die äußeren Klammern umschließen den Initialisierer für das Schlüssel/Wertpaar, das studentsDictionary<TKey,TValue> hinzugefügt wird.The innermost braces enclose the object initializer for the StudentName, and the outermost braces enclose the initializer for the key/value pair that will be added to the studentsDictionary<TKey,TValue>. Schließlich wird der ganze Auflistungsinitialisierer für das Wörterbuch in geschweifte Klammern eingeschlossen.Finally, the whole collection initializer for the dictionary is enclosed in braces.

Kompilieren des CodesCompiling the Code

Kopieren Sie die Klasse, und fügen Sie sie in ein Visual C#-Konsolenanwendungsprojekt ein, das in Visual Studio erstellt wurde, um den Code auszuführen.To run this code, copy and paste the class into a Visual C# console application project that has been created in Visual Studio. Standardmäßig wird dieses Projekt mit Version 3.5 von .NET Framework.NET Framework verwendet und verfügt über einen Verweis auf „System.Core.dll“ und eine using-Anweisung für „System.Linq“.By default, this project targets version 3.5 of the .NET Framework.NET Framework, and it has a reference to System.Core.dll and a using directive for System.Linq. Wenn eine oder mehrere dieser Anforderungen im Projekt nicht vorhanden sind, können Sie sie manuell hinzufügen.If one or more of these requirements are missing from the project, you can add them manually.

Siehe auchSee Also

C#-ProgrammierhandbuchC# Programming Guide
Objekt- und AuflistungsinitialisiererObject and Collection Initializers