Wie Typ I wörtliche binäre in VB.NET?
Frage
Wie geben Sie binäre Literale in VB.NET?
&HFF // literal Hex -- OK
&b11111111 // literal Binary -- how do I do this?
Lösung
Sie könnten es als String definieren und dann analysieren:
myBin = Convert.ToInt32("1010101010", 2)
Andere Tipps
Wie von VB.NET 15 gibt es jetzt für binäre Literale unterstützen:
Dim mask As Integer = &B00101010
Sie können auch Unterstrichen als Ziffer Separatoren die Zahl mehr lesbar, ohne Änderung des Wertes zu machen:
Dim mask As Integer = &B0010_1010
Sie dies nicht tun.
VB.NET unterstützt dezimal (ohne Präfix), Oktal (mit &O
Präfix) und hexadezimal (mit &H
prefix) Ganzzahlliterale direkt.
Der Ausbau auf codymanix Antwort ... Sie könnten wickeln diese in einer Erweiterung auf Strings und Typprüfung hinzufügen ...
etwas entlang der Linien von:
<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
Auf diese Weise können dann überall Sie eine Reihe von binären Wert haben, sagen: „100101100101“ können Sie tun:
Dim val As Integer = "100101100101".ParseBinary()
Beachten Sie, dass die Verwendung