Freigeben über


Compilerfehler CS0151

Der Wert des erwarteten integralen Typs

Eine Variable wurde dort benutzt, wo ein integraler Datentyp erforderlich war. Weitere Informationen finden Sie unter Typen.

Beispiel für eine mehrdeutige Konvertierung

Dieser Fehler kann auftreten, wenn keine Konvertierung vorgenommen wurde, oder wenn die verfügbaren impliziten Konvertierungen zu einer mehrdeutigen Situation führen. Im folgenden Beispiel wird der Fehler CS0151 generiert:

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