2009-07-20 8 views
0
bitNot = (sbyte)(~bitNot) 

VS.bitNot =(sbyte)(〜bitNot)VS. myInt = Int32.Parse(myInput);

myInt = Int32.Parse(myInput); 

こんにちは、私はそれが両方のステートメントを変換しようとしているように思える...上記の二つの文のビット混乱しているが、なぜ最初の構文BITNOT =(sbyte)(〜BITNOT)でありますステートメント? 2番目の文で使用している構文のように、bitNot = sbyte.Parse(〜bitNot)を使用できないのはなぜですか?おかげ

+0

最初の文はsbyteのすべてのビットを反転し、もう1つは文字列を整数に解析します。あなたが示すこれらの2つのステートメントの間のつながりは何ですか? – nos

答えて

3

は、最初の文は、すべてのビットを反転、sbyteにそれをキャストし、おそらく整数のいくつかの形態である、bitNotをとり、その結果を格納するバックbitNot

における2番目のステートメントは、最もある、myInputを取りおそらくある種の文字列を人間が読める形式からInt32型に解析し、それをmyIntに格納します。

主な違いは、操作しているタイプです。文字列を扱う場合はParseが必要です。最初のステートメントでは、代わりにキャスト操作が実行されています。これは、通常、例えば、32ビット整数から8ビット整数に変換することを意味します。それは非常に異なる種類の操作です。

関連する問題