Was bedeutet Standard in C#

清浅
Freigeben: 2019-05-14 13:34:33
Original
10832 Leute haben es durchsucht

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

Was bedeutet Standard in C#

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;
}
Nach dem Login kopieren

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));
}
Nach dem Login kopieren

Ausgabe:

行1: 0
行2:       
行3: Color [Empty]
Nach dem Login kopieren


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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage