Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat menggunakan variabel lokal yang ditik secara implisit setiap kali Anda ingin pengkompilasi menentukan jenis variabel lokal. Anda harus menggunakan variabel lokal yang di ketik secara implisit untuk menyimpan jenis anonim, yang sering digunakan dalam ekspresi kueri. Contoh berikut mengilustrasikan penggunaan opsional dan diperlukan dari variabel lokal yang diketik secara implisit dalam kueri.
Variabel lokal yang diketik secara implisit dideklarasikan dengan menggunakan kata kunci kontekstual var . Untuk informasi selengkapnya, lihat Variabel Lokal yang Diketik secara Implisit dan Array yang Diketik secara Implisit.
Contoh
Contoh berikut menunjukkan skenario umum di mana var kata kunci diperlukan: ekspresi kueri yang menghasilkan urutan jenis anonim. Dalam skenario ini, variabel kueri dan variabel iterasi dalam pernyataan foreach harus ditentukan secara implisit dengan menggunakan var karena Anda tidak memiliki akses ke nama tipe untuk tipe anonim. Untuk informasi selengkapnya tentang jenis anonim, lihat Jenis Anonim.
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);
}
}
Contoh berikut menggunakan var kata kunci dalam situasi yang serupa, tetapi di mana penggunaannya var bersifat opsional. Karena student.LastName merupakan string, eksekusi kueri mengembalikan urutan string. Oleh karena itu, jenis queryId dapat dideklarasikan sebagai System.Collections.Generic.IEnumerable<string> alih-alih var. Kata kunci var digunakan untuk kenyamanan. Dalam contoh, variabel iterasi dalam foreach pernyataan secara eksplisit diketik sebagai string, tetapi dapat dideklarasikan dengan menggunakan var. Karena jenis variabel iterasi bukan jenis anonim, penggunaannya var adalah opsi, bukan persyaratan. Ingat, var itu sendiri bukan jenis, tetapi instruksi kepada pengkompilasi untuk menyimpulkan dan menetapkan jenisnya.
// 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}");
}