Есть ли причина для использования буквы «Т» в дженериках? Это какая-то аббревиатура? Насколько я знаю, все работает. Например
public G Say<G>(){ ... }
или даже
public Hello Say<Hello>(){ ... }

T для типа, как вы и сказали, все работает нормально, но вставка T в это место напоминает вам, что это общий тип.
о, я бы подумал, что Т за Вещь :)
Я думал, что это не для "Это круто!"
Я думал, что это Т для 2 из 4.
Это просто сокращение, как я обычно используется для интерфейсов в .NET, а в других средах C иногда используется для классов (Delphi использует это, IIRC).
Обычно «T» само по себе означает «параметр единственного типа в этом контексте», и если у вас есть несколько параметров типа, они получают префикс T, например Dictionary<TKey, TValue>. Когда вы читаете код, становится очевидным, что это параметр типа, а не конкретный конкретный тип.
T for Type
Кроме того, E используется для Element, который тоже очень распространен. Вы правы, G тоже работает.
T для Тype. Но на самом деле это просто традиция, и ничто не мешает вам использовать другие имена. Например, универсальные словари используют <TKey, TValue>.
Также существует Рекомендации Microsoft, который рекомендует использовать букву Т, если у вас есть параметр одного типа, и префикс к именам описательных параметров с помощью Т, если у вас более одного. Это обеспечит более единообразное ощущение в вашем коде.
Также может быть немного традиции, поскольку шаблоны C++ используют T большую часть времени, а универсальные шаблоны аналогичны по функциям шаблонам C++, когда используются для общего программирования.
Если ваш общий тип представляет что-то особенное, вы можете сделать его более точным .. Обычно перед ним стоит префикс T: IRepository<TEntity>, SomeCollection<TItem, TComparer> ..
Я подумал, что это T для Template, потому что он впервые появился на C++.
Спросил и здесь что-значит-в-с?.