Frage

Wie geben Sie binäre Literale in VB.NET?

&HFF          // literal Hex -- OK
&b11111111    // literal Binary -- how do I do this?
War es hilfreich?

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 , müssen Sie importieren System.Runtime.CompilerServices und auf Framework 3.5 oder höher ausgeführt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top