Compilador CS0665 de aviso (nível 3)

Mensagem de erro

Atribuição na expressão condicional é sempre constante; você quis dizer usar == em vez de =?

Uma expressão condicional usado o operador = e não o operador ==.

O exemplo a seguir gera CS0665:

// CS0665.cs
// compile with: /W:3
class Test
{
   public static void Main()
   {
      bool i = false;

      if (i = true)   // CS0665
      // try the following line instead
      // if (i == true)
      {
      }

      System.Console.WriteLine(i);
   }
}