Compilerwarnung (Stufe 3) CS0675Compiler Warning (level 3) CS0675

Ein bitweiser ODER-Operator wird für einen signaturerweiterten Operanden verwendet. Sie sollten zuerst in einen kleineren unsignierten Typ konvertieren.Bitwise-or operator used on a sign-extended operand; consider casting to a smaller unsigned type first

Der Compiler hat eine Variable implizit erweitert und signaturerweitert und den sich daraus ergebenden Wert in einer bitweisen ODER-Operation verwendet.The compiler implicitly widened and sign-extended a variable, and then used the resulting value in a bitwise OR operation. Dies kann zu unerwartetem Verhalten führen.This can result in unexpected behavior.

Im folgenden Beispiel wird CS0675 generiert:The following sample generates 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  
   }  
}