运算符=不能应用于C#中的泛型类型吗?
==
对于预定义的值类型,如果操作数的值相等,则相等运算符(=)返回true,否则为false。对于字符串以外的引用类型,如果其两个操作数引用同一个对象,则=返回true。对于字符串类型,=比较字符串的值。用户定义的值类型可以重载=操作符(请参阅操作符)。用户定义的引用类型也可以,尽管 默认情况下,对于预定义和用户定义的引用类型,其行为都如上文所述。
bool Compare<T>(T x, T y) { return x == y; }
==
编辑:
==
编辑2:==
true
Test.test<B>(new B(), new B())
class A { public static bool operator==(A x, A y) { return true; } }class B : A { public static bool operator==(B x, B y) { return false; } } class Test { void test<T>(T a, T b) where T : A { Console.WriteLine(a == b); } }
largeQ
侃侃无极
撒科打诨
相关分类