This documentation is archived and is not being maintained.

Compiler Error CS0151 

Error Message

A value of an integral type expected

A variable was used in a situation where an integral data type was required. For more information, see Data Types (C# Programming Guide).

Example

This error can occur when there is no conversion or if the available implicit conversions result in an ambiguous situation. The following sample generates CS0151.

// CS0151.cs
public class MyClass
{
   public static implicit operator int (MyClass aa)
   {
      return 0;
   }

   public static implicit operator long (MyClass aa)
   {
      return 0;
   }

   public static void Main()
   {
      MyClass a = new MyClass();

      // Compiler cannot choose between int and long
      switch (a)   // CS0151
      // try the following line instead
      // switch ((int)a)
      {
         case 1:
            break;
      }
   }
}
Show: