Sdílet prostřednictvím


var (Referenční dokumentace jazyka C#)

Začátek v aplikaci Visual C# 3.0, proměnné, které jsou deklarovány v rozsahu metody mohou mít implicitní typ var.Implicitně zadaný místní proměnné silný stejně, jako by měl typ deklarován sami, ale kompilátor Určuje typ.Následující dvě prohlášení o i jsou funkčně ekvivalentní:

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

Další informace naleznete v tématu Implicitně typované lokální proměnné (Průvodce programováním v C#) a Vztahy typů v operacích dotazu LINQ (C#).

Příklad

Následující příklad ukazuje dva výrazy dotazu.V prvním výrazu použití var je povolen, ale není nutné, protože typ výsledku dotazu můžete výslovně uvedeny jako IEnumerable<string>.V druhém výraz však var musí být použita, protože výsledkem je kolekce anonymní typy a název tohoto typu není přístupné kromě samotného kompilátoru.Všimněte si, že v příkladu č. 2, foreach iterační proměnná item musí být implicitně zadány.

// 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);
}

Viz také

Referenční dokumentace

Implicitně typované lokální proměnné (Průvodce programováním v C#)

Koncepty

Průvodce programováním v C#

Další zdroje

Referenční dokumentace jazyka C#