コンパイラの警告 (レベル 3) CS0675

更新 : 2007 年 11 月

エラー メッセージ

Bitwise-or 演算子が sign-extended 演算子で使用されています。まず、小さい符号なしの型をキャストしてみてください。

コンパイラで変数を暗黙に拡張して符号拡張した後に、結果値をビットごとの OR 演算で使用しました。これにより、予測不可能な動作を起こすことがあります。

次の例では警告 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
   }
}