VB.NETでリテラルバイナリを入力するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1417662

  •  07-07-2019
  •  | 
  •  

質問

VB.NETでバイナリリテラルを入力するにはどうすればよいですか?

&HFF          // literal Hex -- OK
&b11111111    // literal Binary -- how do I do this?
役に立ちましたか?

解決

文字列として定義し、解析することができます:

myBin = Convert.ToInt32("1010101010", 2)

他のヒント

VB.NET 15以降、バイナリリテラルのサポートが追加されました。

Dim mask As Integer = &B00101010

値を変更せずに数字を読みやすくするために、数字の区切りとして下線を含めることもできます。

Dim mask As Integer = &B0010_1010

あなたはしません。

VB.NETは、10進数(プレフィックスなし)、8進数(&Oプレフィックス付き)、および16進数(&Hプレフィックス付き)整数リテラル直接。

codymanixの答えを拡張...これを文字列の拡張でラップし、型チェックを追加...
次のようなもの:

<Extension> Public Function ParseBinary(target As String) As Integer  
    If Not RegEx.IsMatch(target, "^[01]+$") Then Throw New Exception("Invalid binary characters.")  

    Return Convert.ToInt32(target, 2)  
End Function

これにより、バイナリ値の文字列がある場所ならどこでも、たとえば<!> quot; 100101100101 <!> quot;など、次のことができます。

Dim val As Integer = "100101100101".ParseBinary()  

<!> lt; Extension <!> gt;を使用するには、 System.Runtime.CompilerServices をインポートし、Framework 3.5以降で実行する必要があることに注意してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top