aviso do compilador (nível 1) CS0183

Mensagem de erro

A expressão especificada é sempre do tipo fornecido ('tipo')

Se uma demonstrativo condicional sempre avaliada como True e, em seguida, você não precisa de uma demonstrativo condicional.Este aviso ocorre quando você tentar avaliar um tipo usando o é operador.Se a avaliação é um tipo de valor, a verificação será desnecessária.

O exemplo a seguir gera CS0183:

// CS0183.cs
// compile with: /W:1
using System;
public class Test
{
   public static void F(Int32 i32, String str)
   {
      if (str is Object)          // OK
         Console.WriteLine( "str is an object" );
      else
         Console.WriteLine( "str is not an object" );
      
      if (i32 is Object)   // CS0183
         Console.WriteLine( "i32 is an object" );
      else
         Console.WriteLine( "i32 is not an object" ); // never reached
   }


   public static void Main()
   {

      F(0, "CS0183");
      F(120, null); 
   }
}