Default wird in C# im Allgemeinen in Switch-Anweisungen oder generischem Code verwendet. In Switch-Anweisungen ist „Default“ die Standardsituation für die Verarbeitung von Nicht-Groß-/Kleinschreibungsübereinstimmungen. Bei der Verwendung von Standard in Generika gibt es zwei Situationen. Bei Referenztypen wird der generische Typ auf Null initialisiert, und bei Werttypen wird der generische Typ auf 0
Standard initialisiert Schlüsselwörter können in Switch-Anweisungen oder generischem Code verwendet werden.
switch-Anweisung: Geben Sie die Standardbezeichnung an.
Generischer Code: Gibt den Standardwert des Typparameters an. NULL für Referenztypen, Null für Werttypen
switch-Anweisung
Wenn in einer Switch-Anweisung kein Case-Ausdruck mit dem Switch-Wert übereinstimmt, wird die Kontrolle übergeben. Für Anweisungen, die auf folgen optionale Standardbezeichnung. Wenn keine Standardbezeichnung vorhanden ist, wird die Steuerung außerhalb des Schalters übergeben.
switch (key) { case 1: Console.WriteLine("1"); break; case 2: Console.WriteLine("2"); break; default: Console.WriteLine("Sorry, no one matches!"); break; }
Generischer Code
Wie man in generischen Klassen und generischen Methoden Parametrisierungen Standardwerte zuweist, wenn die folgenden Fälle vorher nicht bekannt sind Typ T :
T ist ein Referenztyp oder ein Werttyp.
Wenn T ein Werttyp ist, unabhängig davon, ob es sich um einen numerischen Wert oder eine Struktur handelt.
Gegeben eine Variable t vom parametrisierten Typ T, ist die Anweisung t = null nur gültig, wenn T ein Referenztyp ist; die Anweisung t = 0 kann normalerweise nur verwendet werden, wenn T ein numerischer Typ und keine Struktur ist . . Die Lösung besteht darin, das Schlüsselwort default zu verwenden, das für Referenztypen null und für numerische Typen null zurückgibt. Bei Strukturen gibt dieses Schlüsselwort jedes Strukturelement zurück, das auf Null initialisiert oder leer ist, je nachdem, ob es sich bei den Strukturen um Wert- oder Referenztypen handelt.
public class GenericClass<T> { public T Function(arg) { T temp = default(T); if (arg != null) temp = arg.Favs; return temp; } //... } 注意:不仅可以在定义泛型类或者泛型方法的代码中可以使用default关键字,甚至在任何地方都可以使用该关键字 如下面代码。 static void Main(string[] args) { Console.WriteLine(default(int)); Console.WriteLine(default(string)); Console.WriteLine(default(Color)); }
Ausgabe:
行1: 0 行2: 行3: Color [Empty]
Das obige ist der detaillierte Inhalt vonWas bedeutet Standard in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!