9

如何在 VB.NET 中键入二进制文字?

&HFF          // literal Hex -- OK
&b11111111    // literal Binary -- how do I do this?
4

4 回答 4

14

从 VB.NET 15 开始,现在支持二进制文字:

Dim mask As Integer = &B00101010

您还可以包含下划线作为数字分隔符,以使数字更具可读性,而无需更改值:

Dim mask As Integer = &B0010_1010
于 2017-04-25T14:25:15.860 回答
10

您可以将其定义为字符串,然后解析它:

myBin = Convert.ToInt32("1010101010", 2)
于 2009-09-13T12:54:31.960 回答
7

扩展 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()  

请注意,要使用 <Extension>,您必须导入System.Runtime.CompilerServices并在 Framework 3.5 或更高版本上运行。

于 2009-09-13T15:46:56.283 回答
6

你没有。

VB.NET 直接支持十进制(不带前缀)、八进制(带&O前缀)和十六进制(带&H前缀)整数文字

于 2009-09-13T12:46:30.187 回答