Arrays digitados implicitamente (C# guia de programação)

Você pode criar uma matriz digitada implicitamente, no qual o tipo de ocorrência de array é inferido a partir de elementos especificados em um inicializador de matriz. As regras para qualquer variável digitada implicitamente também se aplicam a matrizes de tipo implícito. Para obter mais informações, consulte Implicitamente digitado variáveis locais (C# guia de programação).

Matrizes do tipo implícito geralmente são usadas em expressões de consulta, juntamente com os tipos anônimos e inicializadores de objeto e coleção.

Os exemplos a seguir mostram como criar uma matriz de tipo implícito:

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

No exemplo anterior, observe que, com matrizes de tipo implícito, sem colchetes são usadas no lado esquerdo da instrução de inicialização. Observe também que as matrizes denteadas são inicializados usando new [] exatamente como matrizes de dimensão única.

Conjuntos de tipo implícito no inicializadores de objeto

Quando você cria um tipo anônimo que contém uma matriz, a matriz deve ser digitada implicitamente no inicializador de objeto do tipo. No exemplo a seguir, contacts é uma matriz de tipo implícito de tipos anônimos, cada qual contendo uma matriz chamada PhoneNumbers. Observe que o var palavra-chave não é usado dentro do inicializadores de objeto.

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

Consulte também

Referência

Implicitamente digitado variáveis locais (C# guia de programação)

Arrays (C# Programming Guide)

Tipos anônimos (guia de programação de C#)

Objeto e coleção inicializadores (guia de programação de C#)

var (referência de C#)

Conceitos

C# Programming Guide

LINQ Expressões de consulta (guia de programação de C#)