コンパイラの警告 (レベル 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
}
}