|
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
|
Traducción
Original
|
Variables locales con asignación implícita de tipos (Guía de programación de C#)
// i is compiled as an int var i = 5; // s is compiled as a string var s = "Hello"; // a is compiled as int[] var a = new[] { 0, 1, 2 }; // expr is compiled as IEnumerable<Customer> // or perhaps IQueryable<Customer> var expr = from c in customers where c.City == "London" select c; // anon is compiled as an anonymous type var anon = new { Name = "Terry", Age = 34 }; // list is compiled as List<int> var list = new List<int>();
-
En variables locales (variables declaradas en el ámbito de método), como se mostraba en el ejemplo anterior. -
En una instrucción de inicialización for. for(var x = 1; x < 10; x++)
-
En una instrucción de inicialización foreach. foreach(var item in list){...} -
En una instrucción using. using (var file = new StreamReader("C:\\myfile.txt")) {...}
class ImplicitlyTypedLocals2 { static void Main() { string[] words = { "aPPLE", "BlUeBeRrY", "cHeRry" }; // If a query produces a sequence of anonymous types, // then use var in the foreach statement to access the properties. var upperLowerWords = from w in words select new { Upper = w.ToUpper(), Lower = w.ToLower() }; // Execute the query foreach (var ul in upperLowerWords) { Console.WriteLine("Uppercase: {0}, Lowercase: {1}", ul.Upper, ul.Lower); } } } /* Outputs: Uppercase: APPLE, Lowercase: apple Uppercase: BLUEBERRY, Lowercase: blueberry Uppercase: CHERRY, Lowercase: cherry */
-
var solo se puede utilizar cuando una variable local se declara y se inicializa en la misma instrucción; la variable no se puede inicializar como null, como un grupo de métodos ni como una función anónima. -
var no se puede usar en campos en el ámbito de clase. -
Las variables declaradas con var no se pueden utilizar en la expresión de inicialización. Es decir, esta expresión : int i = (i = 20); es válida, si bien genera un error en tiempo de compilación: var i = (i = 20); -
No es posible inicializar varias variables con tipo implícito en la misma instrucción. -
Si un tipo denominado var está dentro del ámbito, la palabra clave var se resolverá como ese nombre de tipo y no se tratará como parte de una declaración de variable local tipificada implícitamente.
// Same as previous example except we use the entire last name as a key. // Query variable is an IEnumerable<IGrouping<string, Student>> var studentQuery3 = from student in students group student by student.Last;