Heim >Backend-Entwicklung >C++ >Wie können `typeof`,` gettype` und `is 'differenzieren in der C# -Typprüfung?

Wie können `typeof`,` gettype` und `is 'differenzieren in der C# -Typprüfung?

DDD
DDDOriginal
2025-01-30 17:01:12519Durchsuche

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

c# Typ Prüfung:

, und typeof Vergleich GetType is Bei der Verarbeitung von C#gibt es viele Möglichkeiten, den Objekttyp oder die Variable zu überprüfen. Das Verständnis des Unterschieds zwischen , und

ist für effektive Arten der Inspektion von wesentlicher Bedeutung.

typeof GetType is

Der Bediener ist ein Kompilierungsoperator, der ein -Objekt zurückgibt, das den angegebenen Typ angibt. Es wird normalerweise verwendet, um den Objekttyp während der Zusammenstellung zu vergleichen. Zum Beispiel: typeof

typeof Type

Methode geben die Laufzeittyp der Instanz zurück. Es wird verwendet, um den Typ des Objekts während der Laufzeit zu bestimmen, auch wenn der tatsächliche Typ beim Kompilieren nicht kennt. Zum Beispiel:
<code class="language-csharp">Type t = typeof(int);
if (t == typeof(int))
    // 一些代码</code>

GetType

Der Bediener ist ein Laufzeitoperator. Es wird normalerweise verwendet, um zu prüfen, ob das Objekt ein bestimmter Typ oder seinen Ableitungstyp ist. Zum Beispiel: GetType

<code class="language-csharp">object obj1 = 5;
if (obj1.GetType() == typeof(int))
    // 一些代码</code>
Hauptunterschiede

is

: Geben Sie während der Kompilierung Typinformationen basierend auf dem angegebenen Typnamen an. is true

<code class="language-csharp">object obj1 = 5;
if (obj1 is int)
    // 一些代码</code>
: Aperieren Sie während der Laufzeit die tatsächliche Art der Instanz.

: Überprüfen Sie zur Laufzeit, ob die Instanz ein bestimmter Typ oder seinen Erbbaum ist.
  • Vorsichtsmaßnahmen typeof
  • Die beste Wahl dieser drei Methoden hängt von der spezifischen Szene ab.
  • Priorität wird verwendet, um die Typuntersuchungen während der Kompilierung durchzuführen, um die Typkompatibilität so bald wie möglich sicherzustellen. Es ist nützlich, wenn Sie den Instanztyp überprüfen, z. B. in dynamischen Code -Szenarien. GetType Der Bediener ist bequem, die Erbschaftsbeziehung während der Laufzeit zu überprüfen.
  • Beispiel
  • is Betrachten Sie den folgenden Code:
In diesem Beispiel wird

eine Instanz von typeof erben GetType. Allerdings und return is, wenn

tatsächlich

Instanzen. zurück , wenn

Instanz ist.

Das obige ist der detaillierte Inhalt vonWie können `typeof`,` gettype` und `is 'differenzieren in der C# -Typprüfung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn