var
è utile per i tipi anonimi, che non hanno nomi da utilizzare.
var point = new {X = 10, Y = 10};
Questo creerà un tipo anonimo con le proprietà X e Y. Viene utilizzato principalmente per supportare LINQ. Supponete di avere:
class Person
{
public String Name {get; set;}
public Int32 Age {get; set;}
public String Address {get; set;}
// Many other fields
}
List<Person> people; // Some list of people
Ora supponiamo che io voglio selezionare solo i nomi e gli anni fino all'età 18 di quelle persone che sono sotto l'età di 18:
var minors = from person in people where person.Age < 18 select new {Name = person.Name, YearsLeft = 18 - person.Age};
Ora minors
contiene una List
di alcuni tipo anonimo. Possiamo iterare queste persone con:
foreach (var minor in minors)
{
Console.WriteLine("{0} is {1} years away from age 18!", minor.Name, minor.YearsLeft);
}
Nulla di ciò sarebbe altrimenti possibile; avremmo bisogno di selezionare l'intero oggetto Person e quindi calcolare YearsLeft nel nostro ciclo, che non è quello che vogliamo.
fonte
2009-07-27 23:18:30
E quando dico So che è già digitato in fase di esecuzione ... Intendevo solo nella tua logica. – Matt
possibile duplicato di [Uso della parola chiave var in C#] (http://stackoverflow.com/questions/41479/use-of-var-keyword-in-c-sharp) – nawfal