Question

Comment tapez-vous les littéraux binaires dans VB.NET?

&HFF          // literal Hex -- OK
&b11111111    // literal Binary -- how do I do this?
Était-ce utile?

La solution

Vous pouvez le définir en tant que chaîne, puis l’analyser:

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

Autres conseils

À partir de VB.NET 15, les littéraux binaires sont désormais pris en charge:

Dim mask As Integer = &B00101010

Vous pouvez également inclure des traits de soulignement comme séparateurs de chiffres pour rendre le nombre plus lisible sans modifier la valeur:

Dim mask As Integer = &B0010_1010

Vous n'en avez pas.

VB.NET prend en charge les caractères décimal (sans préfixe), octal (avec le préfixe &O) et hexadécimal (avec le préfixe &H) littéraux entiers directement.

Développer la réponse de codymanix ... Vous pouvez envelopper cela dans une extension sur des chaînes et ajouter une vérification de type ...
quelque chose comme:

<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

Ceci permet alors, partout où vous avez une chaîne de valeur binaire, dites & "; 100101100101 &"; vous pouvez faire:

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

Notez que pour utiliser < Extension > ;, vous devez importer System.Runtime.CompilerServices et vous exécuter sur Framework 3.5 ou version ultérieure.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top