as
Operator oder ToString()
? In C#gibt es viele Möglichkeiten, das Objekt von einem Typ in einen anderen zu konvertieren. In diesem Artikel werden drei allgemeine Methoden erörtert: direkte Konvertierung,
-Operatorin und as
Methode. ToString()
<code class="language-csharp">string s = (string)o;</code>
in o
. Wenn eigentlich nicht string
ist, wirft es o
abnormal. Wenn string
jedoch leer ist, wird es der String -Variablen InvalidCastException
weiterhin zugewiesen. o
s
Der Bediener
as
Versuchen Sie, das Objekt <code class="language-csharp">string s = o as string;</code>
angegeben. Wenn die Konvertierung jedoch fehlschlägt oder leer ist, setzen Sie as
auf leer. Dieses Glück kann im Werttyp nicht verwendet werden, da der Werttyp nicht null sein kann. o
string
Methode s
o
s
streng genommen ist es kein Konvertierungsvorgang. Stattdessen wird die Zeichenfolge des Objekts unabhängig von seinem Typ abgerufen. Wenn leer ist, löst diese Methode
ToString()
Wählen Sie die richtige Methode <code class="language-csharp">string s = o.ToString();</code>
ToString()
Der Bediener (Methode 2) wird selten verwendet, da er bei Ausfall der Konvertierung Null zurückgibt, was möglicherweise irreführend ist. Nur unter bestimmten Umständen kann es davon profitieren, wie die Bibliothek, die von dem falschen Design abhängt, das eher vom Fehlercode als von einem abnormalen Design abhängt. o
o
Methode (Methode 3) ist kein Konvertierungsvorgang. NullReferenceException
Das obige ist der detaillierte Inhalt vonDirect Casting, `as' Operator oder `toString ()`: Welche C# -Typkonvertierungsmethode sollten Sie auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!