Ich habe einen VB-Hintergrund und konvertiere für meinen neuen Job zu C #. Ich versuche auch, bei .NET im Allgemeinen besser zu werden. Ich habe gesehen, dass das Schlüsselwort "T" in Beispielen, die von Leuten gepostet wurden, häufig verwendet wird. Was bedeutet das "T" in C #? Zum Beispiel:
public class SomeBase<T> where T : SomeBase<T>, new()
Was macht T
das Warum sollte ich es benutzen wollen?
Antworten:
Es ist ein Symbol für einen generischen Typparameter . Es könnte genauso gut etwas anderes sein, zum Beispiel:
public class SomeBase<GenericThingy> where GenericThingy : SomeBase<GenericThingy>, new()
Nur T ist die Standardeinstellung, die von Microsoft verwendet und empfohlen wird.
quelle
T ist an sich kein Schlüsselwort, sondern ein Platzhalter für einen generischen Typ. Siehe Microsoft Einführung in Generika
Die äquivalente VB.Net-Syntax wäre:
Public Class SomeBase(Of T As {Class, New}))
quelle
Ein gutes Beispiel für einen anderen Namen, der anstelle von T verwendet wird
would
, sind die Hash-Tabellenklassen, zpublic class Dictionary<K,V> ...
Wo
K
steht für Schlüssel undV
für Wert. Ich denkeT
steht für Typ.Vielleicht haben Sie das schon gesehen. Wenn Sie die Verbindung herstellen können, sollte dies ziemlich hilfreich sein.
quelle
Das wäre ein "Generic". Wie bereits erwähnt, gibt es eine Microsoft-Erklärung des Konzepts. Warum das "T" - siehe diese Frage .
Kurz gesagt, Sie können eine Klasse / Methode erstellen, die auf einen bestimmten Typ spezialisiert ist. Ein klassisches Beispiel ist die
System.Collections.Generic.List<T>
Klasse. Es ist dasselbe wieSystem.Collections.ArrayList
, außer dass Sie nur Artikel vom Typ speichern könnenT
. Dies bietet Typensicherheit - Sie können keine (versehentlich oder anderweitig) Elemente des falschen Typs in Ihre Liste aufnehmen. DerSystem.Collections.Generic
Namespace enthält mehrere andere Sammlungstypen, die davon Gebrauch machen.Wo Sie es verwenden können, liegt ganz bei Ihnen. Es gibt viele Anwendungsfälle, die von Zeit zu Zeit auftreten. Meistens ist es eine Art selbstgemachte Sammlung (wenn die eingebauten nicht ausreichen), aber es könnte wirklich alles sein.
quelle
Am besten machen Sie sich mit "Generics" vertraut, vielen Ressourcen im Web. Hier ist eine
T ist kein Schlüsselwort, sondern ein Name, könnte meines Wissens alles sein, aber T ist die Konvention (wenn nur ein Typ benötigt wird, von coruse)
quelle
Dies
T
ist der Name für den Typparameter in einer generischen Klasse. Es steht für "Typ", aber man könnte es genauso gut "Alice" nennen.Sie verwenden Generika, um die Wiederverwendbarkeit typsicher zu erhöhen, ohne den Code unnötig zu duplizieren. So brauchen Sie nicht zu schreiben Klassen für
ListOfIntegers
,ListOfStrings
,ListOfChars
,ListOfPersons
und so weiter , sondern kann stattdessen eine generische Klasse schreibenList<T>
und dann instantiate Objekte von TypenList<Int32>
,List<string>
,List<char>
undList<Person>
. Der Compiler erledigt die Arbeit für Sie.quelle
Es bedeutet "jede Klasse". Es könnte "B", "A" sein, was auch immer. Ich denke, T wird wegen "Vorlage" verwendet
quelle