Compartilhar via


Arrays implicitamente tipados (guia de programação translation from VPE for Csharp)

Você pode criar uma matriz do tipo implícito no qual o tipo da 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 aos conjuntos de tipo implícito.Para obter mais informações, consulte Digitados implicitamente variáveis locais (guia de programação translation from VPE for Csharp).

Conjuntos de tipo implícito geralmente são usados em expressões de consulta com tipos anônimo e os inicializadores de objeto e coleção.

Os exemplos a seguir mostram como criar uma matriz do 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 demonstrativo de inicialização.Observe também que irregulares matrizes são inicializadas usando new [] Assim como matrizes de dimensão única. Não há suporte para matrizes multidimensionais de tipo implícito.

Tipo implícito arrays in inicializadores de objeto

Quando você cria um tipo anônimo 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ônimo, cada uma delas contém uma matriz chamada PhoneNumbers. Observe que o var palavra-chave não é usado dentro de 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

Conceitos

Guia de Programação C#

Expressões de consulta do LINQ (guia de programação translation from VPE for Csharp)

Referência

Digitados implicitamente variáveis locais (guia de programação translation from VPE for Csharp)

Matrizes (Guia de programação do C#)

Tipos anônimo (guia de programação translation from VPE for Csharp)

Objeto e coleção inicializadores (guia de programação translation from VPE for Csharp)

var (translation from VPE for Csharp Reference)