Partilhar via


var (translation from VPE for Csharp Reference)

Variáveis que são declaradas no escopo do método podem ter um tipo implícito var. Uma variável local de tipo implícito tem rigidez de tipos sistema autônomo se você tivesse declarado o tipo, mas o compilador determina o tipo.As duas seguintes declarações de i são funcionalmente equivalentes:

var i = 10; // implicitly typed
int i = 10; //explicitly typed

Para obter mais informações, consulte Digitados implicitamente variáveis locais (guia de programação translation from VPE for Csharp) e Relações de tipo em operações de Consulta (LINQ).

Exemplo

O exemplo a seguir mostra duas expressões de consulta.Na primeira expressão, o uso de var permissão mas não é necessário porque o tipo de resultado da consulta pode ser declarado explicitamente, sistema autônomo um IEnumerable<string>. No entanto, na segunda expressão, var deve ser usado porque o resultado é uma coleção de tipos anônimo, e o nome desse tipo não é acessível, exceto para o compilador propriamente dito. Observe que, no exemplo 2, a foreach variável de iteração item devem também ser implicitamente digitadas.

// Example #1: var is optional because
// the select clause specifies a string
string[] words = { "apple", "strawberry", "grape", "peach", "banana" };
var wordQuery = from word in words
                where word[0] == 'g'
                select word;

// Because each element in the sequence is a string, 
// not an anonymous type, var is optional here also.
foreach (string s in wordQuery)
{
    Console.WriteLine(s);
}

// Example #2: var is required because
// the select clause specifies an anonymous type
var custQuery = from cust in customers
                where cust.City == "Phoenix"
                select new { cust.Name, cust.Phone };

// var must be used because each item 
// in the sequence is an anonymous type
foreach (var item in custQuery)
{
    Console.WriteLine("Name={0}, Phone={1}", item.Name, item.Phone);
}

Consulte também

Conceitos

Guia de Programação C#

Referência

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

Outros recursos

Referência C#