Use of Equals in generic method
12:20 29 Jan 2017

Can anyone explain this?

void Main()
{
    int a = 1;
    short b = 1;

    Console.WriteLine(b.Equals(a));     // false
    Console.WriteLine(a.Equals(b));     // true

    Test(a, b); // prints: false, false
    Test(a, b);             // prints: false, false
}

void Test(T1 x, T2 y)
{
    Console.WriteLine(y.Equals(x));
    Console.WriteLine(x.Equals(y));
}
.net generics equality