Was bedeutet "T" in C #?
Ich habe ein VB-hintergrund und ich bin der Konvertierung in C# für meinen neuen job. Ich bin auch versucht, um besser zu werden .NET im Allgemeinen. Ich habe gesehen, das Stichwort "T -" verwendet eine Menge in den Proben, die die Leute posten. Was bedeutet das "T" bedeutet in C#? Zum Beispiel:
public class SomeBase<T> where T : SomeBase<T>, new()
Was bedeutet T
tun? Warum würde ich wollen, es zu benutzen?
InformationsquelleAutor der Frage Jim | 2008-12-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein symbol für eine generische Typ-parameter. Es könnte genauso gut etwas anderes sein, zum Beispiel:
Nur T ist die Standard-Einstellung verwendet, und ermutigt durch Microsoft.
InformationsquelleAutor der Antwort user39603
T ist nicht ein keyword pro-se, sondern ein Platzhalter für einen generischen Typ. Siehe Microsoft ' s Einführung in Generika
Äquivalent VB.Net syntax würde sein:
InformationsquelleAutor der Antwort Rob Walker
Ein gutes Beispiel von einem anderen Namen anstelle von T
would
werden die hash-table-Klassen, z.B.Wo
K
steht für Key undV
für Wert. Ich denkeT
steht für Typ.Haben Sie vielleicht gesehen, dass dieses um. Wenn Sie die Verbindung, sollte es ziemlich hilfreich.
InformationsquelleAutor der Antwort biozinc
Das wäre dann ein "Generikum". Wie bereits schon erwähnt, gibt es eine Microsoft-Erklärung des Konzepts. Wie, warum die "T" - siehe diese Frage.
Kurz gesagt, es ermöglicht Ihnen das erstellen einer Klasse/Methode, die spezialisiert auf einen bestimmten Typ. Ein klassisches Beispiel ist die
System.Collections.Generic.List<T>
Klasse. Es ist das gleiche wieSystem.Collections.ArrayList
außer, dass es Ihnen ermöglicht, zu speichern, nur item vom TypT
. Diese bietet eine Art Sicherheit - Sie kann nicht (versehentlich oder anderweitig) legen Sie die Artikel von den falschen in deiner Liste. DieSystem.Collections.Generic
- namespace enthält mehrere andere verschiedene collection-Typen, die Gebrauch machen von dieser.Da, wo man es nutzen kann - das ist bis zu Ihnen. Es gibt viele Anwendungsfälle, die kommen von Zeit zu Zeit. Meistens ist es eine Art self-made-Sammlung (wenn die eingebaute nicht ausreichen), aber es könnte wirklich alles sein.
InformationsquelleAutor der Antwort Vilx-
Beste Weg wäre, um sich selbst kennen "Generika", die viele Ressourcen im Internet, hier ist ein
T ist nicht ein Schlagwort, sondern ein name, kann alles sein, wirklich, soweit ich weiß, aber T ist die Konvention (wenn nur ein Typ benötigt wird, der Anlage)
InformationsquelleAutor der Antwort Yossi Dahan
Bedeutet es "jede Klasse". Könnte es sein, "B", "A", was auch immer. Ich denke, T ist wegen der "Vorlage"
InformationsquelleAutor der Antwort Otávio Décio
Den
T
ist der name für den Typ-parameter in einer generischen Klasse. Es steht für "Typ" aber Sie könnten genauso gut nennen es "Alice."Verwenden Sie Generika zu erhöhen Wiederverwendbarkeit in einer typsicheren Art und Weise, ohne unnötig duplizieren von code. So brauchen Sie nicht zu schreiben-Klassen für
ListOfIntegers
ListOfStrings
ListOfChars
ListOfPersons
und so, aber können stattdessen schreiben Sie eine generische KlasseList<T>
und dann Objekte instanziieren von TypenList<Int32>
List<string>
List<char>
undList<Person>
. Der compiler übernimmt die Arbeit für Sie.InformationsquelleAutor der Antwort jason