Compartilhar via


Matrizes de tipo implícito (Guia de Programação em C#)

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

Matrizes do tipo implícito geralmente são usados 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 [] como matrizes de dimensão única.

Matrizes 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 tipo implícito de tipos anônimos, cada qual contendo uma matriz chamada PhoneNumbers. Observe que o var palavra-chave não é usado nos 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

Variáveis locais de tipo implícito (Guia de Programação em C#)

Matrizes (Guia de Programação em C#)

Tipos anônimos (Guia de Programação em C#)

Inicializadores de objeto e coleção (Guia de Programação em C#)

var (Referência de C#)

Conceitos

Guia de Programação em C#

Expressões de consulta LINQ (Guia de Programação em C#)