Поделиться через


Неявно типизированные массивы (Руководство по программированию на C#)

Можно создать неявно типизированный массив, в котором тип экземпляра массива получается из элементов, указанных в инициализаторе массива. Правила для неявно типизированной переменной также применяются к неявно типизированным массивам. Дополнительные сведения см. в разделе Неявно типизированные локальные переменные (Руководство по программированию в C#).

Неявно типизированные массивы обычно используются в выражениях запроса вместе с анонимными типами и инициализаторами объектов и коллекций.

В следующих примерах показано, как создать неявно типизированный массив:

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

В предыдущем примере обратите внимание на то, что для неявно типизированных массивов квадратные скобки в левой части оператора инициализации не используются. Кроме того, следует обратить внимание на то, что инициализация массивов массивов, как и одномерных массивов, выполняется с помощью new [].

Неявно типизированные массивы в инициализаторах объектов

При создании анонимного типа, содержащего массив, этот массив неявно типизируется в инициализаторе объекта типа. В следующем примере contacts является неявно типизированным массивом анонимных типов, каждый из которых содержит массив с именем PhoneNumbers. Обратите внимание на то, что ключевое слово var внутри инициализаторов объектов не используется.

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

См. также

Ссылки

Неявно типизированные локальные переменные (Руководство по программированию в C#)

Массивы (Руководство по программированию на C#)

Анонимные типы (Руководство по программированию в C#)

Инициализаторы объектов и коллекций (Руководство по программированию в C#)

var (справочник по C#)

Основные понятия

Руководство по программированию на C#

Выражения запросов LINQ (Руководство по программированию на C#)