Partager via


Avertissement du compilateur (niveau 3) CS0675

Mise à jour : novembre 2007

Message d'erreur

Opérateur de bits or utilisé sur un opérande de signe étendu ; si possible, effectuez un cast en type plus faible non signé
Bitwise-or operator used on a sign-extended operand; consider casting to a smaller unsigned type first

Le compilateur a explicitement élargi une variable et étendu le signe de celle-ci, puis il a utilisé la valeur résultante dans une opération de bits OR. Cela provoque parfois des résultats inattendus.

L'exemple suivant génère l'avertissement 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
   }
}