Это было бы «универсальным». Как уже упоминалось, существует объяснение концепции Microsoft . Насчет того, почему именно "Т" - смотрите в этом вопросе .
Вкратце, он позволяет вам создать класс / метод, специализированный для определенного типа. Классический пример - System.Collections.Generic.List<T>
класс. Он такой же, как System.Collections.ArrayList
, за исключением того, что позволяет хранить только элементы типа T
. Это обеспечивает безопасность типов - вы не можете (случайно или иным образом) поместить элементы неправильного типа в свой список. Пространство System.Collections.Generic
имен содержит несколько других различных типов коллекций, которые используют это.
А где его использовать - решать вам. Время от времени возникает множество вариантов использования. В основном это какая-то самодельная коллекция (когда встроенных не хватает), но это действительно может быть что угодно.