Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
}
}