Compartir a través de


Advertencia del compilador (nivel 3) CS0675

Actualización: noviembre 2007

Mensaje de error

Operador OR bit a bit usado en un operando con extensión de signo; considere la posibilidad de convertir en primer lugar a un tipo sin signo más pequeño
Bitwise-or operator used on a sign-extended operand; consider casting to a smaller unsigned type first

El compilador amplió y extendió el signo de una variable implícitamente, y a continuación utilizó el valor resultante en una operación OR bit a bit. Esto puede dar como resultado un comportamiento inesperado.

El código siguiente genera la advertencia CS0675:

// CS0675.cs
// compile with: /W:3
using System;

public class sign
{
   public static void Main()
   {
      int hi = 1;
      int lo = 1;
      long value = (((long)hi) << 32) | lo;              // CS0675
      // try the following line instead
      // long value = (((long)hi) << 32) | ((uint)lo);   // correct
   }
}