aviso do compilador (nível 3) CS0675
Mensagem de erro
Bit a bit- ou operador usado em um operando estendido do sinal; considere primeiro a projeção para um tipo não assinado menor
O compilador implicitamente ampliado e estendidos do sinal de uma variável e usado o valor resultante em uma operação OR bit a bit.Isso pode resultar em comportamento inesperado.
O exemplo a seguir gera 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
}
}