Como eu digito binário literal em VB.NET?
Pergunta
Como você digitar literais binários em VB.NET?
&HFF // literal Hex -- OK
&b11111111 // literal Binary -- how do I do this?
Solução
Você poderia defini-lo como corda e, em seguida, analisá-lo:
myBin = Convert.ToInt32("1010101010", 2)
Outras dicas
A partir de VB.NET 15 agora há suporte para literais binários:
Dim mask As Integer = &B00101010
Você também pode incluir sublinhados como separadores de dígitos para tornar o número mais legível, sem alterar o valor:
Dim mask As Integer = &B0010_1010
Você não.
VB.NET suporta decimal (sem prefixo), octal (com prefixo &O
), e hexadecimal (com prefixo &H
) literais inteiro diretamente.
Expandindo resposta de codymanix ... Você poderia envolver isso em uma extensão em cordas, e adicionar a verificação de tipo ...
algo ao longo das linhas 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
Isso permite que, em seguida, em qualquer lugar você tem uma série de valor binário, diga "100101100101", você pode fazer:
Dim val As Integer = "100101100101".ParseBinary()
Note que para usar