VB.NETでリテラルバイナリを入力するにはどうすればよいですか?
質問
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以降で実行する必要があることに注意してください。
所属していません StackOverflow