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.
Operator
Operator is memeriksa apakah hasil ekspresi kompatibel dengan jenis tertentu. Untuk informasi tentang operator pengujian is jenis, lihat bagian operator is dari artikel Pengujian jenis dan operator cast . Anda juga dapat menggunakan is operator untuk mencocokkan ekspresi dengan pola, seperti yang ditunjukkan contoh berikut:
static bool IsFirstFridayOfOctober(DateTime date) =>
date is { Month: 10, Day: <=7, DayOfWeek: DayOfWeek.Friday };
Dalam contoh sebelumnya, is operator cocok dengan ekspresi terhadap pola properti dengan polakonstanta dan relasional berlapis.
Operator is dapat berguna dalam skenario berikut:
Untuk memeriksa jenis run-time ekspresi, seperti yang ditunjukkan contoh berikut:
int i = 34; object iBoxed = i; int? jNullable = 42; if (iBoxed is int a && jNullable is int b) { Console.WriteLine(a + b); // output 76 }Contoh sebelumnya menunjukkan penggunaan pola deklarasi.
Untuk memeriksa
null, seperti yang ditunjukkan contoh berikut:if (input is null) { return; }Saat Anda mencocokkan ekspresi dengan
null, pengkompilasi menjamin bahwa tidak ada pengguna yang kelebihan beban==atau!=operator yang dipanggil.Anda dapat menggunakan pola negasi untuk melakukan pemeriksaan non-null, seperti yang ditunjukkan contoh berikut:
if (result is not null) { Console.WriteLine(result.ToString()); }Anda dapat menggunakan pola daftar untuk mencocokkan elemen daftar atau array. Kode berikut memeriksa array untuk nilai bilangan bulat dalam posisi yang diharapkan:
int[] empty = []; int[] one = [1]; int[] odd = [1, 3, 5]; int[] even = [2, 4, 6]; int[] fib = [1, 1, 2, 3, 5]; Console.WriteLine(odd is [1, _, 2, ..]); // false Console.WriteLine(fib is [1, _, 2, ..]); // true Console.WriteLine(fib is [_, 1, 2, 3, ..]); // true Console.WriteLine(fib is [.., 1, 2, 3, _ ]); // true Console.WriteLine(even is [2, _, 6]); // true Console.WriteLine(even is [2, .., 6]); // true Console.WriteLine(odd is [.., 3, 5]); // true Console.WriteLine(even is [.., 3, 5]); // false Console.WriteLine(fib is [.., 3, 5]); // true
Nota
Untuk daftar lengkap pola yang didukung oleh is operator, lihat Pola.
Spesifikasi bahasa C#
Untuk informasi selengkapnya, lihat bagian operator adalahspesifikasi bahasa C# dan Pencocokan pola.