Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 17614|Antwort: 1

[Kommunikation] C# generische Beispiele werden ausführlich erklärt

[Link kopieren]
Veröffentlicht am 28.01.2019 16:03:40 | | | |
1. Was ist generisch?

Generics sind neue Syntax, die in C# 2.0 eingeführt wurde, nicht Syntax-Zucker, sondern Funktionen, die durch Framework-Upgrades in 2.0 bereitgestellt werden.

Wenn wir Programme programmieren, stoßen wir oft auf Module mit sehr ähnlichen Funktionen, aber sie verarbeiten unterschiedliche Daten. Aber wir haben keine andere Wahl, als mehrere Methoden separat zu schreiben, um unterschiedliche Datentypen zu verarbeiten. Im Moment stellt sich die Frage, ob es eine Möglichkeit gibt, dieselbe Methode zu verwenden, um mit verschiedenen Arten von Parametern umzugehen. Das Aufkommen von Generika ist speziell darauf ausgelegt, dieses Problem zu lösen.

2. Warum Generika verwenden

Schauen wir uns folgendes Beispiel an:
Ergebnis:

Aus den obigen Ergebnissen sehen wir, dass diese drei Methoden dieselben Funktionen haben, abgesehen von den unterschiedlichen Parametern, die sie passieren. Zur Zeit von Version 1.0 gab es kein Konzept von Generika, also was sollte man tun? Ich glaube, viele Menschen denken an die Vererbung eines der drei Hauptmerkmale von OOP; wir wissen, dass in C# das Objekt die Basisklasse aller Typen ist und der obige Code wie folgt optimiert ist:
Ergebnis:

Aus den obigen Ergebnissen sehen wir, dass die Verwendung des Objekttyps unsere Anforderungen erfüllt und die Wiederverwendbarkeit des Codes löst. Manche Leute fragen vielleicht, warum es möglich ist, int, String usw. weiterzugeben, obwohl es als Objekttyp definiert ist? Es gibt zwei Gründe:

1. Der Objekttyp ist die Elternklasse aller Typen.

2. Durch Vererbung besitzen Unterklassen alle Attribute und Verhaltensweisen der Elternklasse, und wo immer die Elternklasse erscheint, kann sie durch Unterklassen ersetzt werden.

Doch die oben genannte Objekttyp-Methode bringt ein weiteres Problem mit sich: Boxen und Unboxing können die Leistung des Programms verringern.

Microsoft hat Generika in C# 2.0 eingeführt, die die oben genannten Probleme sehr gut lösen können.

3. Generische Typparameter

In einer generischen Typ- oder Methodendefinition ist ein Typparameter ein vom Client für einen bestimmten Typ festgelegter Platzhalter, wenn er eine Variable des generischen Typs instanziiert. Die generische Klasse (GenericList<T>) kann nicht so verwendet werden, da sie kein echter Typ ist; Es ist eher wie ein Bauplan für Typen. Um GenericList zu verwenden<T>, muss der Client-Code einen Konstrukttyp deklarieren und instanziieren, indem der Typparameter innerhalb von Winkelklammern angegeben wird. Das Typargument für diese spezielle Klasse kann jeder Typ sein, den der Compiler erkennt. Man kann beliebig viele Konstrukttyp-Instanzen erstellen, jede mit einem anderen Typparameter.

Der Code im obigen Beispiel kann wie folgt modifiziert werden:
Rufen:
Showergebnisse:






Vorhergehend:.NET Core-Dateianbieter
Nächster:MySQL-Datenbankname, Tabellenname und Feldname-Abfrage
Veröffentlicht am 29.01.2019 04:08:13 |
Sehr gut, akribisch, und die grundlegenden Dinge sollten genauer überprüft werden
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com