¿Cómo se escribe literales binarios en VB.NET?¿Cómo escribo binario literal en VB.NET?
&HFF // literal Hex -- OK
&b11111111 // literal Binary -- how do I do this?
¿Cómo se escribe literales binarios en VB.NET?¿Cómo escribo binario literal en VB.NET?
&HFF // literal Hex -- OK
&b11111111 // literal Binary -- how do I do this?
Se podría definir como cadena y luego analizarlo:
myBin = Convert.ToInt32("1010101010", 2)
Usted no lo hace.
VB.NET apoya decimal (sin prefijo), octal (con &O
prefijo), y hexadecimal (con &H
prefijo) integer literals directamente.
Ampliando la respuesta de codymanix ... Usted podría terminar con esto, en una extensión de cuerdas, y añadir la comprobación de tipos ...
algo a lo largo las líneas de:
<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
Esto permite entonces, cualquier lugar que tenga una cadena de valor binario, dicen "100101100101", que puede hacer:
Dim val As Integer = "100101100101".ParseBinary()
Note que para usar < Extensión >, debe importar System.Runtime.CompilerServices, y se ejecuta en Framework 3.5 o posterior.
A partir del 15 de VB.NET ahora hay soporte para los literales binarios:
Dim mask As Integer = &B00101010
También puede incluir guiones como separadores de dígitos que el número sea más legible sin cambiar el valor:
Dim mask As Integer = &B0010_1010
Eso se ve muy útil. Me hace desear poder actualizar a 3.5 –
Yah, entre extensiones, LINQ y literales XML, ... 3.5 golpes 2.0! :) – eidylon