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;
}
}
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.