Implizit typisierte Arrays (C#-Programmierhandbuch)

Sie können ein implizit typisiertes Array erstellen, in das der Typ der Arrayinstanz aus den Elementen, die im Arrayinitialisierer angegeben werden, abgeleitet wird. Die Regeln für implizit typisierte Variablen gelten auch für implizit typisierte Arrays. Weitere Informationen finden Sie unter Implizit typisierte lokale Variablen.

Implizit typisierte Arrays werden normalerweise in Abfrageausdrücken zusammen mit anonymen Typen sowie Objekt- und Auflistungsinitialisierern verwendet.

In den folgenden Beispielen wird gezeigt, wie ein implizit typisiertes Array erstellt wird:

class ImplicitlyTypedArraySample
{
    static void Main()
    {
        var a = new[] { 1, 10, 100, 1000 }; // int[]
        var b = new[] { "hello", null, "world" }; // string[]

        // single-dimension jagged array
        var c = new[]   
        {  
            new[]{1,2,3,4},
            new[]{5,6,7,8}
        };

        // jagged array of strings
        var d = new[]   
        {
            new[]{"Luca", "Mads", "Luke", "Dinesh"},
            new[]{"Karen", "Suma", "Frances"}
        };
    }
}

Beachten Sie im vorherigen Beispiel, dass bei implizit typisierten Arrays keine rechteckigen Klammern links in der Initialisierungsanweisung verwendet werden. Beachten Sie auch, dass verzweigte Arrays mit new [] initialisiert werden, genau wie eindimensionale Arrays.

Implizit typisierte Arrays in Objektinitialisierern

Wenn Sie einen anonymen Typ erstellen, der ein Array enthält, muss das Array im Objektinitialisierer des Typs impliziert typisiert sein. Im folgenden Beispiel ist contacts ein implizit typisiertes Array anonymer Typen, von denen jeder ein Array mit dem Namen PhoneNumbers enthält. Beachten Sie, dass das var-Schlüsselwort nicht in den Objektinitialisierern verwendet wird.

var contacts = new[] 
{
    new {
            Name = " Eugene Zabokritski",
            PhoneNumbers = new[] { "206-555-0108", "425-555-0001" }
        },
    new {
            Name = " Hanying Feng",
            PhoneNumbers = new[] { "650-555-0199" }
        }
};

Siehe auch

C#-Programmierhandbuch
Implizit typisierte lokale Variablen
Arrays
Anonyme Typen
Objekt- und Auflistungsinitialisierer
var
LINQ-Abfrageausdrücke