Как сравниваются ссылочные и значимые типы в .NET? В чем разница между "Equals", "RefEquals" и "=="?
Что выведется на консоль и почему именно так? И что будет в случаях сравнение каждым методом
string s1 = "First string", s2 = "First ", s3 = "string";
string s4 = s2 + s3;
int i1 = 5, i2 = 2, i3 = 3;
int i4 = i2 + i3;
Console.WriteLine(s1 == s4);
Console.WriteLine((object)s1 == (object)s4);
Console.WriteLine((object)s1 == (object)"First string");
Console.WriteLine(i1 == i4);
Console.WriteLine((object)i1 == (object)i4);
Console.WriteLine((object)s1 == (object)5);