83 Stimmen

Was bedeutet "T" in C#?

Ich habe einen VB-Hintergrund und wechsle zu C# für meinen neuen Job. Ich versuche auch, allgemein besser in .NET zu werden. Ich habe das Schlüsselwort "T" oft in Beispielen gesehen, die Leute posten. Was bedeutet das "T" in C#? Zum Beispiel:

public class SomeBase where T : SomeBase, new()

Was macht T? Warum sollte ich es verwenden wollen?

1 Stimmen

T ~>> Typ: Beliebiger Typ

56voto

user39603 Punkte 2175

Es handelt sich um ein Symbol für einen generischen Typenparameter. Es könnte genauso gut etwas anderes sein, zum Beispiel:

public class SomeBase where GenericThingy : SomeBase, new()

Nur T ist der Standardwert, der von Microsoft verwendet und empfohlen wird.

49voto

Rob Walker Punkte 45267

T ist nicht wirklich ein Schlüsselwort, sondern ein Platzhalter für einen generischen Typ. Siehe Einführung in Generics von Microsoft.

Die entsprechende Syntax in VB.Net wäre:

Public Class SomeBase(Of T As {Class, New}))

17voto

biozinc Punkte 4531

Ein gutes Beispiel für einen anderen Namen, der anstelle von T verwendet wird, wären die Hash-Tabellen-Klassen, z.B.

public class Dictionary ...

Wo K für Schlüssel und V für Wert steht. Ich glaube, T steht für Typ.

Du hast das vielleicht schon mal gesehen. Wenn du die Verbindung herstellen kannst, sollte es ziemlich hilfreich sein.

6voto

Vilx- Punkte 100739

Das wäre ein "Generisch". Wie bereits erwähnt wurde, gibt es eine Microsoft-Erklärung des Konzepts. Warum das "T" steht, erfährst du in dieser Frage.

Im Grunde ermöglicht es dir, eine Klasse/Methode zu erstellen, die auf einen bestimmten Typ spezialisiert ist. Ein klassisches Beispiel ist die Klasse System.Collections.Generic.List. Sie ist identisch mit System.Collections.ArrayList, mit dem Unterschied, dass du nur Elemente vom Typ T speichern kannst. Dies bietet Typsicherheit - du kannst keine Elemente vom falschen Typ versehentlich oder anderweitig in deine Liste einfügen. Der Namespace System.Collections.Generic enthält mehrere andere verschiedene Kollektionstypen, die dies nutzen.

Wo du es verwenden könntest, liegt ganz bei dir. Es gibt viele Anwendungsfälle, die von Zeit zu Zeit auftauchen. Meist handelt es sich um eine Art selbstgemachte Kollektion (wenn die integrierten nicht ausreichen), aber es könnte wirklich alles sein.

5voto

Yossi Dahan Punkte 5309

Der beste Weg wäre, sich mit "Generics" vertraut zu machen, viele Ressourcen im Web, hier ist eine

T ist kein Schlüsselwort, sondern ein Name, könnte wirklich alles sein, soweit ich weiß, aber T ist die Konvention (wenn nur ein Typ benötigt wird, natürlich)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X