Как сравниваются ссылочные и значимые типы в .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);
        

Ответы (0 шт):