Condividi tramite


bool (Riferimenti per C#)

La parola chiave bool è un alias di System.Boolean. Viene utilizzata per dichiarare variabili per archiviare i valori Boolean, true e false.

Nota

Se è necessaria una variabile booleana che possa avere anche il valore null, utilizzare bool. Per ulteriori informazioni, vedere Tipi nullable (Guida per programmatori C#).

Valori letterali

È possibile assegnare un valore Boolean a una variabile bool. Inoltre, è possibile assegnare un'espressione che restituisce bool a una variabile bool.

// keyword_bool.cs
using System;
public class MyClass
{
    static void Main()
    {
        bool i = true;
        char c = '0';
        Console.WriteLine(i);
        i = false;
        Console.WriteLine(i);

        bool Alphabetic = (c > 64 && c < 123);
        Console.WriteLine(Alphabetic);
    }
}

Output

True
False
False

Conversioni

In C++ un valore di tipo bool può essere convertito in un valore di tipo int. In altri termini, false è equivalente a zero e true è equivalente a valori diversi da zero. In C# non viene eseguita alcuna conversione tra il tipo bool e gli altri tipi. L'istruzione if riportata di seguito, ad esempio, è valida in C++, ma non in C#.

int x = 123;
if (x)   // Invalid in C#
{
    printf_s("The value of x is nonzero.");
}

Per eseguire il test di una variabile di tipo int, è necessario confrontarla esplicitamente con un valore, ad esempio zero, come illustrato di seguito:

int x = 123;
if (x != 0)   // The C# way
{
    Console.Write("The value of x is nonzero.");
}

Esempio

In questo esempio, il programma controlla che il carattere inserito da tastiera sia una lettera. In caso affermativo, controlla se il carattere è minuscolo o maiuscolo Questi controlli vengono eseguiti con IsLetter e IsLower, che restituiscono il tipo bool:

// keyword_bool_2.cs
using System;
public class BoolTest 
{
    static void Main() 
    {
        Console.Write("Enter a character: "); 
        char c = (char)Console.Read();
        if (Char.IsLetter(c))
        {
            if (Char.IsLower(c))
            {
                Console.WriteLine("The character is lowercase.");
            }
            else
            {
                Console.WriteLine("The character is uppercase.");
            }
        }
        else
        {
            Console.WriteLine("Not an alphabetic character.");
        }
    }
}

Input

X

Esempio di output

Enter a character: X
The character is uppercase.
Additional sample runs might look as follow:
Enter a character: x
The character is lowercase.

Enter a character: 2
The character is not an alphabetic character.

Specifiche del linguaggio C#

Per ulteriori informazioni su bool e su argomenti correlati, vedere le seguenti sezioni incluse in Specifiche del linguaggio C#:

  • 4.1.8 Tipo bool

  • 7.9.4 Operatori di uguaglianza booleani

  • 7.11.1 Operatori logici condizionali booleani

Vedere anche

Riferimenti

Parole chiave di C#
Tabella dei tipi integrali (Riferimenti per C#)
Tabella dei tipi incorporati (Riferimenti per C#)
Tabella delle conversioni numeriche implicite (Riferimenti per C#)
Tabella delle conversioni numeriche esplicite (Riferimenti per C#)

Concetti

Guida per programmatori C#

Altre risorse

Riferimenti per C#