泛型变量用于定义泛型的目的是什么

Has*_*sif 2 .net c# generics

我正在阅读msdn上的泛型

我们可以使用如下定义简单的泛型类 T for type

class Generics<T> 
    {
        List<T> list = new List<T>();
        public void fun(T no1, T no2)
        {
            list.Add(no1);
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用不同的变量类型,例如X for type如下,它工作

class Generics<X> 
    {
        List<X> list = new List<X>();
        public void fun(X no1, X no2)
        {
            list.Add(no1);
        }
    }
Run Code Online (Sandbox Code Playgroud)

很想知道为什么C#允许我们对类型使用任何变量,这种方法的优点是什么

gza*_*axx 10

它不仅仅是泛型类型的别名,只是为了使代码更具可读性.看看Dictionary<TKey, TValue>- 它比Dictionary<T, X>现在要清楚得多.