Export (0) Print
Expand All
Expand Minimize

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;
   }
}

Community Additions

ADD
Show:
© 2014 Microsoft