How do I type literal binary in VB.NET?
Solution 1
You could define it as string and then parse it:
myBin = Convert.ToInt32("1010101010", 2)
Solution 2
As of VB.NET 15 there is now support for binary literals:
Dim mask As Integer = &B00101010
You can also include underscores as digit separators to make the number more readable without changing the value:
Dim mask As Integer = &B0010_1010
Solution 3
Expanding on codymanix's answer... You could wrap this in an Extension on Strings, and add type checking...
something along the lines of:
<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
This allows then, anywhere you have a string of binary value, say "100101100101", you can do:
Dim val As Integer = "100101100101".ParseBinary()
Note that to use <Extension>, you must import System.Runtime.CompilerServices, and be running on Framework 3.5 or later.
Solution 4
You don't.
VB.NET supports decimal (without prefix), octal (with &O
prefix), and hexadecimal (with &H
prefix) integer literals directly.
Related videos on Youtube
Robin Rodricks
Updated on June 04, 2022Comments
-
Robin Rodricks almost 2 years
How do you type binary literals in VB.NET?
&HFF // literal Hex -- OK &b11111111 // literal Binary -- how do I do this?
-
David Rutten over 14 yearsThat looks mighty useful. Makes me wish I could upgrade to 3.5
-
Sreenikethan I about 5 yearsIs that link dead?
-
Hoki almost 5 years