كيف اكتب ثنائي الحرفي في 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
) <وأ href = "http://msdn.microsoft.com/en-us/library/aa711649 ( VS.71) .ASPX "يختلط =" noreferrer "> الحرفية صحيح مباشرة.
والتوسع في الإجابة 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()
ملاحظة أن استخدام <التمديد>، يجب استيراد على System.Runtime.CompilerServices ، أو وتكون قيد التشغيل في إطار 3.5 أو في وقت لاحق.