Rumah > pembangunan bahagian belakang > C++ > Bagaimana `typeof`,` gettype`, dan `is` berbeza dalam pemeriksaan jenis c#?

Bagaimana `typeof`,` gettype`, dan `is` berbeza dalam pemeriksaan jenis c#?

DDD
Lepaskan: 2025-01-30 17:01:12
asal
467 orang telah melayarinya

How Do `typeof`, `GetType`, and `is` Differ in C# Type Checking?

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

adalah penting untuk jenis pemeriksaan yang berkesan.

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

: Operasi pada masa runtime, periksa sama ada contoh itu adalah jenis yang diberikan atau pokok warisannya.

Langkah berjaga -jaga
  • Pilihan terbaik dari ketiga -tiga kaedah ini bergantung pada adegan tertentu. typeof 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.
  • Operator mudah untuk memeriksa hubungan warisan semasa runtime.
  • Contoh GetType
  • Pertimbangkan kod berikut:
  • is Dalam contoh ini, jika adalah contoh
  • ,
akan kembali

, kerana mewarisi . Walau bagaimanapun, dan kembali

apabila

sebenarnya typeof contoh. GetType kembali is apabila adalah

contoh.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan