true の値
TRUE というCマクロが定義されたヘッダファイルの名前を調べようと、MSDN Library のキーワードに true とタイプして最初に開いたヘルプの注意事項が .NET ネタだった……というだけのメモ。
> tostring -code:C# (int) true error CS0030: 型 'bool' を型 'int' に変換できません。 > tostring -code:C# Convert.ToInt32(true) 1 > tostring -code:vb CType(True, Int32) -1 > tostring -code:vb CType(TRUE, Integer) -1 > tostring -code:vb Convert.ToInt32(True) 1
型無しの変数に格納された True を、CType() も Convert も使用しないで整数評価した場合も、CType() を利用した場合と同様になる。以前にも書いたけど、こういう不一致によってC言語系のプログラマが、
bool f = ...; bool g = ...; if (f == false) ... if (f != false) ... if (((f == false) && (g != false)) != false) ...