Avviso del compilatore (livello 3) CS0675

Aggiornamento: novembre 2007

Messaggio di errore

Operatore OR bit per bit usato su un operando con segno esteso. Prima di utilizzarlo, provare a eseguire il cast su un tipo più piccolo e senza segno.
Bitwise-or operator used on a sign-extended operand; consider casting to a smaller unsigned type first

Il compilatore ha ampliato in modo implicito ed esteso con segno una variabile, quindi ha utilizzato il valore risultante in un'operazione OR bit per bit. Questa operazione può generare un comportamento imprevisto.

Il seguente codice di esempio genera l'errore 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
   }
}