Как ввести буквенный бинарный файл в VB.NET?
Вопрос
Как вы вводите двоичные литералы в VB.NET? Р>
&HFF // literal Hex -- OK
&b11111111 // literal Binary -- how do I do this?
Решение
Вы можете определить это как строку, а затем проанализировать ее:
myBin = Convert.ToInt32("1010101010", 2)
Другие советы
Начиная с VB.NET 15 теперь поддерживается двоичные литералы:
Dim mask As Integer = &B00101010
Вы также можете включить подчеркивания в качестве разделителей цифр, чтобы сделать число более читабельным без изменения значения:
Dim mask As Integer = &B0010_1010
Вы не делаете.
VB.NET поддерживает десятичные (без префикса), восьмеричные (с префиксом &O
) и шестнадцатеричные (с префиксом &H
) целочисленные литералы напрямую.
Расширяя ответ codymanix ... Вы можете заключить это в расширение для строк и добавить проверку типов ...
что-то вроде:
<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
Это позволяет тогда, где бы у вас ни была строка двоичного значения, скажем " 100101100101 " ;, вы можете сделать:
Dim val As Integer = "100101100101".ParseBinary()
Обратите внимание, что для использования < Extension > необходимо импортировать System.Runtime.CompilerServices и работать на Framework 3.5 или более поздней версии.