QA@IT
«回答へ戻る

確認環境を追記

5629
 value(-1) <  0x100 => True
 ```
 となりましたので、やはり Monoの不具合ではないかと思います。
+
+**-追記-**
+確認コードは最初に提示されたコードそのまま使いました。
+(`value.GetType()`もコメントアウトされていて 引数 `(uhort)0` での呼び出しもあります)。
+プロジェクトはコンソールアプリケーションです。
+OSはWin7 (VS2008,VS2010)とWin8 (VS2012)

コメントにも書きましたがVisual Studioから試してみました。

VS2008, VS2010, VS2012
VS2008はターゲットフレームワーク 2.0でも確認
2010と2012は x86とx64でも確認

全て

value(-1) <  -0x80 => False
value(-1) <  -0x20 => False
value(-1) <   0x80 => True
value(-1) <  0x100 => True

となりましたので、やはり Monoの不具合ではないかと思います。

-追記-
確認コードは最初に提示されたコードそのまま使いました。
value.GetType()もコメントアウトされていて 引数 (uhort)0 での呼び出しもあります)。
プロジェクトはコンソールアプリケーションです。
OSはWin7 (VS2008,VS2010)とWin8 (VS2012)

コメントにも書きましたがVisual Studioから試してみました。

VS2008, VS2010, VS2012
VS2008はターゲットフレームワーク 2.0でも確認
2010と2012は x86とx64でも確認

全て
```
value(-1) <  -0x80 => False
value(-1) <  -0x20 => False
value(-1) <   0x80 => True
value(-1) <  0x100 => True
```
となりましたので、やはり Monoの不具合ではないかと思います。

**-追記-**
確認コードは最初に提示されたコードそのまま使いました。
(`value.GetType()`もコメントアウトされていて 引数 `(uhort)0` での呼び出しもあります)。
プロジェクトはコンソールアプリケーションです。
OSはWin7 (VS2008,VS2010)とWin8 (VS2012)

回答を投稿

コメントにも書きましたがVisual Studioから試してみました。

VS2008, VS2010, VS2012
VS2008はターゲットフレームワーク 2.0でも確認
2010と2012は x86とx64でも確認

全て

value(-1) <  -0x80 => False
value(-1) <  -0x20 => False
value(-1) <   0x80 => True
value(-1) <  0x100 => True

となりましたので、やはり Monoの不具合ではないかと思います。

コメントにも書きましたがVisual Studioから試してみました。

VS2008, VS2010, VS2012
VS2008はターゲットフレームワーク 2.0でも確認
2010と2012は x86とx64でも確認

全て
```
value(-1) <  -0x80 => False
value(-1) <  -0x20 => False
value(-1) <   0x80 => True
value(-1) <  0x100 => True
```
となりましたので、やはり Monoの不具合ではないかと思います。