[转][C#]泛型 T

秤心 / 2023-09-06 / 原文

泛型效率 约等于 直接使用类型,比装箱、拆箱 更有效率。

T AX<T>() where T : new() // 无参数构造函数约束
{
    T tNew = new T();
    return tNew;
}

void AX<T>() where T : IAsyncResult // 接口约束
{

}
        
void AX<T>() where T : class // 引用约束
{

}

void AX<T>() where T : struct // 值约束
{

}

 T 可以换成其它字母,可以同时申明多个泛型

void AX<T>() where T : IAsyncResult // 接口约束
{
    
}

void AX<T,T2,T3,T4>()
    where T : class  // 引用约束
    where T2 : struct // 值约束
    where T3 : new() // 无参数构造函数约束
{
    T t = null;
    T2 t2 = default(T2);
    T3 t3 = new T3();
}