Heim >Backend-Entwicklung >C++ >Wie können `typeof`,` gettype` und `is 'differenzieren in der C# -Typprü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
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
<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.
typeof
GetType
Der Bediener ist bequem, die Erbschaftsbeziehung während der Laufzeit zu überprüfen.
is
Betrachten Sie den folgenden Code:
eine Instanz von typeof
erben GetType
. Allerdings und return is
, wenn
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!