Что означает "T" в C#?
у меня есть фон VB, и я конвертирую в C# для своей новой работы. Я также пытаюсь стать лучше в .NET в целом. Я видел, что ключевое слово " T " часто используется в образцах сообщений людей. Что означает "T" в C#? Например:
public class SomeBase<T> where T : SomeBase<T>, new()
Что значит T сделать? Зачем мне его использовать?
7 ответов:
Это символ для параметр универсального типа. Это может быть и что-то другое, например:
public class SomeBase<GenericThingy> where GenericThingy : SomeBase<GenericThingy>, new()только T по умолчанию используется и поощряется Microsoft.
T-это не ключевое слово per-se, а заполнитель для универсального типа. См. Microsoft введение в универсальные шаблоны
эквивалент VB.Net синтаксис будет:
Public Class SomeBase(Of T As {Class, New}))
хороший пример другого имени, используемого вместо T
wouldклассы хэш-таблиц, напримерpublic class Dictionary<K,V> ...здесь
Kозначает ключ иVдля стоимости. Я думаюTобозначает тип.вы, возможно, видели это вокруг. Если вы можете установить соединение, это должно быть довольно полезно.
это будет "общий". Как люди уже упоминали, есть объяснение Microsoft концепции. Что касается того, почему "Т" - см. этот вопрос.
в двух словах, это позволяет создать класс/метод, который специализируется на определенном типе. Классическим примером является
System.Collections.Generic.List<T>класса. Это то же самое, чтоSystem.Collections.ArrayList, кроме того, что он позволяет хранить только один элемент типаT. Это обеспечивает безопасность типа - вы не можете (случайно или в противном случае) поместите элементы неправильного типа в свой список. ЭлементSystem.Collections.Genericпространство имен содержит несколько других различных типов коллекций, которые используют это.что касается того, где вы могли бы использовать его - решать вам. Есть много вариантов использования, которые приходят время от времени. В основном это какая-то самодельная коллекция (когда встроенных не хватает), но это действительно может быть что угодно.
лучше всего было бы ознакомиться с "дженериками", многими ресурсами в интернете, вот один
T-это не ключевое слово, а имя, может быть что угодно, насколько я знаю, но T-это соглашение (когда требуется только один тип, coruse)
Это означает "любой класс". Это может быть" Б"," А", что угодно. Я думаю, что T используется из-за"шаблона"
The
T- Это имя параметра типа в универсальном классе. Это означает "тип", но вы могли бы также назвать его " Алиса."вы используете дженерики для повышения повторяемости в типобезопасном порядке без ненужного дублирования кода. Таким образом, вам не нужно писать классы для
ListOfIntegers,ListOfStrings,ListOfChars,ListOfPersonsи так далее, но вместо этого можно написать универсальный классList<T>а затем создавать экземпляры объектов типовList<Int32>,List<string>,List<char>иList<Person>. Компилятор делает работу за вас.
Comments