如何在VB.NET中键入二进制文字?
&HFF // literal Hex -- OK
&b11111111 // literal Binary -- how do I do this?
答案 0 :(得分:8)
您可以将其定义为字符串,然后解析它:
myBin = Convert.ToInt32("1010101010", 2)
答案 1 :(得分:7)
从VB.NET 15开始,现在支持二进制文字:
Dim mask As Integer = &B00101010
您还可以将下划线包含为数字分隔符,以便在不更改值的情况下使数字更具可读性:
Dim mask As Integer = &B0010_1010
答案 2 :(得分:6)
你没有。
VB.NET直接支持十进制(不带前缀),八进制(带&O
前缀)和十六进制(带&H
前缀)integer literals。
答案 3 :(得分:6)
扩展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
这允许在任何你有二进制值字符串的地方,比如“100101100101”,你可以这样做:
Dim val As Integer = "100101100101".ParseBinary()
请注意,要使用&lt; Extension&gt;,您必须导入 System.Runtime.CompilerServices ,并在Framework 3.5或更高版本上运行。