2009-09-13 59 views

Trả lời

7

Bạn có thể xác định nó như chuỗi và sau đó phân tích nó:

myBin = Convert.ToInt32("1010101010", 2) 
5

Bạn không.

VB.NET hỗ trợ thập phân (không có tiền tố), bát phân (với tiền tố &O) và thập lục phân (với tiền tố &H) integer literals trực tiếp.

5

Mở rộng về câu trả lời của codymanix ... Bạn có thể quấn này trong một mở rộng trên Strings, và thêm kiểm tra kiểu ...
cái gì đó dọc theo dòng:

<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 

này cho phép sau đó, bất cứ nơi nào bạn có một chuỗi các giá trị nhị phân, nói "100.101.100.101", bạn có thể làm:

Dim val As Integer = "100101100101".ParseBinary() 

Lưu ý rằng để sử dụng < Tiện ích mở rộng >, bạn phải nhập System.Runtime.CompilerServices và đang chạy trên Framework 3.5 trở lên.

+1

Điều đó có vẻ hữu ích. Làm cho tôi ước mình có thể nâng cấp lên 3,5 –

+1

Yah, giữa các Tiện ích mở rộng, LINQ và XML literals, ... 3,5 thổi đi 2.0! :) – eidylon

3

Tính đến VB.NET 15 hiện nay đang hỗ trợ cho literals nhị phân:

Dim mask As Integer = &B00101010 

Bạn cũng có thể bao gồm gạch dưới là dải phân cách chữ số để làm cho số dễ đọc hơn mà không thay đổi giá trị:

Dim mask As Integer = &B0010_1010 
Các vấn đề liên quan