It might be because it's immutable.
class A
{
public string a;
}
static void Main(string[] args)
{
A a1 = new A();
A b1 = new A();
string a = "abc";
a1.a = "abc";
string b = "ca";
b1.a = "ca";
a = b;
a1 = b1;
b = "cab";
b1.a = "cab";
Console.WriteLine(a);
Console.WriteLine(a1.a);
Console.ReadLine();
}
The answer is "ca" for a and "cab" for a1.a, and that's what I answered in an interview question and I explained the reason as "immutability" of string.
But the interviewer didn't look convinced. Could someone provide a convincing explanation of the above code?