Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Holds values that can be only True or False. The keywords True and False correspond to the two states of Boolean variables.
Remarks
Use the Boolean data type to contain two-state values such as true/false, yes/no, or on/off.
The default value of Boolean is False.
Boolean values are not stored as numbers, and the stored values are not intended to be equivalent to numbers. You should never write code that relies on equivalent numeric values for True and False. Whenever possible, you should restrict usage of Boolean variables to the logical values for which they are designed.
Type Conversions
When Visual Basic converts numeric data type values to Boolean, 0 becomes False and all other values become True. When Visual Basic converts Boolean values to numeric types, False becomes 0 and True becomes -1.
When you convert between Boolean values and numeric data types, keep in mind that the .NET Framework conversion methods do not always produce the same results as the Visual Basic conversion keywords. This is because the Visual Basic conversion retains behavior compatible with previous versions. For more information, see "Boolean Type Does Not Convert to Numeric Type Accurately" in Troubleshooting Data Types.
Programming Tips
Negative Numbers.
Booleanis not a numeric type and cannot represent a negative value. In any case, you should not useBooleanto hold numeric values.Type Characters.
Booleanhas no literal type character or identifier type character.Framework Type. The corresponding type in the .NET Framework is the System.Boolean structure.
Example
In the following example, isLegacyFramework and isModernNet are variables of type Boolean, which stores a simple yes/no setting.
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