Boolesk datatyp (Visual Basic)

Innehåller värden som bara True kan vara eller False. Nyckelorden True och False motsvarar de två tillstånden för Boolean variabler.

Kommentarer

Boolean Använd datatypen för att innehålla tvåtillståndsvärden som true/false, yes/no eller on/off.

Standardvärdet Boolean för är False.

Boolean värden lagras inte som tal och de lagrade värdena är inte avsedda att motsvara tal. Du bör aldrig skriva kod som förlitar sig på motsvarande numeriska värden för True och False. När det är möjligt bör du begränsa användningen av Boolean variabler till de logiska värden som de är utformade för.

Typkonverteringar

När Visual Basic konverterar numeriska datatypsvärden till Booleanblir 0 False och alla andra värden blir True. När Visual Basic konverterar Boolean värden till numeriska typer blir False 0 och True blir -1.

När du konverterar mellan Boolean värden och numeriska datatyper bör du tänka på att .NET Framework-konverteringsmetoderna inte alltid ger samma resultat som nyckelorden för Visual Basic-konvertering. Det beror på att Visual Basic-konverteringen behåller beteendet som är kompatibelt med tidigare versioner. Mer information finns i "Boolesk typ konverteras inte till numerisk typ korrekt" i Felsökning av datatyper.

Programmeringstips

  • Negativa tal. Boolean är inte en numerisk typ och kan inte representera ett negativt värde. I vilket fall som helst bör du inte använda Boolean för att lagra numeriska värden.

  • Skriv tecken. Boolean har inget tecken av typen literal eller identifierartyp.

  • Ramverkstyp. Motsvarande typ i .NET Framework är System.Boolean strukturen.

Exempel

I följande exempel och isLegacyFrameworkisModernNet är variabler av typen Boolean, som lagrar en enkel ja/nej-inställning.

Dim runtimeDescription As String = 
    Runtime.InteropServices.RuntimeInformation.FrameworkDescription

Dim isLegacyFramework As Boolean
Dim isModernNet As Boolean

' Check if the program is running on legacy or modern .NET
If runtimeDescription.Contains(".NET Framework") Then
    isLegacyFramework = True
ElseIf runtimeDescription.Contains(".NET") Then
    isModernNet = True
End If

Se även