Logikai adattípus (Visual Basic)

Olyan értékeket tartalmaz, amelyek lehetnek csak True vagy False. A kulcsszavak True és False a változók két állapotának Boolean felelnek meg.

Megjegyzések

Boolean Az adattípussal kétállapotú értékeket tartalmazhat, például igaz/hamis, igen/nem vagy be/ki.

Az alapértelmezett érték az BooleanFalse.

Boolean az értékek nem számokként vannak tárolva, és a tárolt értékek nem azonosak a számokkal. Soha ne írjon olyan kódot, amely a megfelelő numerikus értékekre True támaszkodik.False Amikor csak lehetséges, a változók használatát Boolean azokra a logikai értékekre kell korlátoznia, amelyekhez azokat tervezték.

Típuskonvertálások

Amikor a Visual Basic numerikus adattípus-értékeket Booleankonvertál, 0 lesz False , és az összes többi érték lesz True. Amikor a Visual Basic numerikus típussá Boolean alakítja az értékeket, 0 lesz, False és True -1 lesz.

Értékek és numerikus adattípusok közötti Boolean konvertáláskor ne feledje, hogy a .NET-keretrendszer konverziós módszerek nem mindig ugyanazokat az eredményeket eredményezik, mint a Visual Basic konverziós kulcsszavak. Ennek az az oka, hogy a Visual Basic-átalakítás megőrzi a korábbi verziókkal kompatibilis viselkedést. További információ: "A logikai típus nem konvertálja numerikus típussá pontosan" című témakört az adattípusok hibaelhárításában.

Programozási tippek

  • Negatív számok. Boolean nem numerikus típus, és nem jelölhet negatív értéket. Mindenesetre nem szabad Boolean numerikus értékeket tárolni.

  • Írja be a karaktereket. Boolean nem rendelkezik literális típuskaraktere vagy azonosítótípus-karaktere.

  • Keretrendszer típusa. A .NET-keretrendszer megfelelő típusa a System.Boolean struktúra.

Példa

Az alábbi példában olyan típusú Booleanváltozók szerepelnek, isLegacyFrameworkisModernNet amelyek egy egyszerű igen/nem beállítást tárolnak.

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

Lásd még