Compiler Warning (level 2) CS0252
Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'type'
The compiler is doing a reference comparison. If you want to compare the value of strings, cast the left side of the expression to type.
The following sample generates CS0252:
// CS0252.cs
// compile with: /W:2
using System;
class MyClass
{
public static void Main()
{
string s = "11";
object o = s + s;
bool b = o == s; // CS0252
// try the following line instead
// bool b = (string)o == s;
}
}