Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Derleyicinin yerel değişkenin türünü belirlemesini istediğiniz her zaman örtük olarak yazılan yerel değişkenleri kullanabilirsiniz. Genellikle sorgu ifadelerinde kullanılan anonim türleri depolamak için örtük olarak yazılan yerel değişkenleri kullanmanız gerekir. Aşağıdaki örneklerde, sorgularda örtük olarak yazılan yerel değişkenlerin hem isteğe bağlı hem de gerekli kullanımları gösterilmektedir.
Örtük olarak yazılan yerel değişkenler, var bağlamsal anahtar sözcüğü kullanılarak bildirilir. Daha fazla bilgi için bkz. Örtük Olarak Yazılan Yerel Değişkenler ve Örtük Olarak Yazılan Diziler.
Örnekler
Aşağıdaki örnekte, var anahtar sözcüğün gerekli olduğu yaygın bir senaryo gösterilmektedir: anonim türlerden oluşan bir dizi oluşturan sorgu ifadesi. Bu senaryoda, anonim tür için bir tür adına erişiminiz olmadığından, foreach deyimindeki hem sorgu değişkeni hem de yineleme değişkeni örtük olarak var kullanılarak yazılmalıdır. Anonim türler hakkında daha fazla bilgi için bkz. anonim türler .
private static void QueryNames(char firstLetter)
{
// Create the query. Use of var is required because
// the query produces a sequence of anonymous types:
// System.Collections.Generic.IEnumerable<????>.
var studentQuery =
from student in students
where student.FirstName[0] == firstLetter
select new { student.FirstName, student.LastName };
// Execute the query and display the results.
foreach (var anonType in studentQuery)
{
Console.WriteLine("First = {0}, Last = {1}", anonType.FirstName, anonType.LastName);
}
}
Aşağıdaki örnekte var anahtar sözcüğü benzer ancak var kullanımının isteğe bağlı olduğu bir durumda kullanılır.
student.LastName bir dize olduğundan, sorgunun yürütülmesi bir dizi dize döndürür. Bu nedenle, queryId türü System.Collections.Generic.IEnumerable<string>yerine var olarak bildirilebilir. Anahtar sözcük var kolaylık sağlamak için kullanılır. Örnekte, foreach deyimindeki yineleme değişkeni açıkça dize olarak yazıldı, ancak bunun yerine varkullanılarak bildirilebilir. Yineleme değişkeninin türü anonim bir tür olmadığından, var kullanımı bir gereksinim değil, bir seçenektir. Unutmayın, var kendisi bir tür değil, derleyiciye tür çıkarma ve atama yönergesi.
// Variable queryId could be declared by using
// System.Collections.Generic.IEnumerable<string>
// instead of var.
var queryId =
from student in students
where student.Id > 111
select student.LastName;
// Variable str could be declared by using var instead of string.
foreach (string str in queryId)
{
Console.WriteLine($"Last name: {str}");
}