Direktguss verwenden string s = (string) o;
wenn im logischen Kontext Ihrer Anwendung string
ist der einzig gültige Typ. Mit diesem Ansatz erhalten Sie InvalidCastException
und die Umsetzung des Grundsatzes der Ausfallsicher . Ihre Logik wird vor der Weitergabe des ungültigen Typs geschützt oder erhält eine NullReferenceException, wenn sie verwendet wird as
Betreiber.
Wenn die Logik mehrere verschiedene Arten von Rollen erwartet string s = o as string;
und überprüfen Sie es auf null
oder verwenden is
Betreiber.
Neue coole Funktion haben in C# 7.0 erschienen, um zu vereinfachen und zu überprüfen, ist ein Musterabgleich :
if(o is string s)
{
// Use string variable s
}
or
switch (o)
{
case int i:
// Use int variable i
break;
case string s:
// Use string variable s
break;
}