C# jenis peperiksaan:
, dan typeof
perbandingan GetType
is
Apabila memproses jenis dalam C#, terdapat banyak cara untuk memeriksa jenis objek atau pembolehubah. Memahami perbezaan antara , dan
typeof
GetType
is
Operator adalah pengendali kompilasi, yang mengembalikan objek yang menunjukkan jenis yang ditentukan. Ia biasanya digunakan untuk membandingkan jenis objek semasa penyusunan. Contohnya: typeof
typeof
Type
Kaedah Mengembalikan jenis runtime contohnya. Ia digunakan untuk menentukan jenis objek semasa runtime, walaupun ia tidak mengetahui jenis sebenar semasa menyusun. Contohnya:
<code class="language-csharp">Type t = typeof(int); if (t == typeof(int)) // 一些代码</code>
GetType
Operator adalah pengendali runtime. Ia biasanya digunakan untuk memeriksa sama ada objek itu adalah jenis tertentu atau jenis derivatifnya. Contohnya:
Perbezaan Utama GetType
<code class="language-csharp">object obj1 = 5; if (obj1.GetType() == typeof(int)) // 一些代码</code>
is
: Operasi Semasa penyusunan, sediakan maklumat jenis berdasarkan nama jenis yang ditentukan.
is
: Operasi semasa runtime, dapatkan jenis contoh sebenar. true
<code class="language-csharp">object obj1 = 5; if (obj1 is int) // 一些代码</code>
: Operasi pada masa runtime, periksa sama ada contoh itu adalah jenis yang diberikan atau pokok warisannya.
Langkah berjaga -jagatypeof
Keutamaan digunakan untuk melakukan pemeriksaan jenis semasa penyusunan untuk memastikan keserasian jenis secepat mungkin. Ia berguna apabila memeriksa jenis contoh, seperti dalam senario kod dinamik. GetType
is
Dalam contoh ini, jika adalah contoh , kerana mewarisi . Walau bagaimanapun, dan kembali
apabila sebenarnya typeof
contoh. GetType
kembali is
apabila adalah
Atas ialah kandungan terperinci Bagaimana `typeof`,` gettype`, dan `is` berbeza dalam pemeriksaan jenis c#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!