Udostępnij za pośrednictwem


BOOL (C# odniesienia)

bool Słowo kluczowe jest aliasem System.Boolean.Jest używany do deklaracji zmiennych do przechowywania wartości logicznych, true i false.

[!UWAGA]

Jeżeli wymaga się również może mieć wartość zmiennej typu Boolean null, użyj bool?.Aby uzyskać więcej informacji, zobacz Typy Nullable (Podręcznik programowania C#).

Literały

Można przypisać wartość logiczna, aby bool zmienna.Można również przypisać wyrażenie, którego wynikiem jest bool do bool zmienna.

public class BoolTest
{
    static void Main()
    {
        bool b = true;

        // WriteLine automatically converts the value of b to text.
        Console.WriteLine(b);

        int days = DateTime.Now.DayOfYear;


        // Assign the result of a boolean expression to b.
        b = (days % 2 == 0);

        // Branch depending on whether b is true or false.
        if (b)
        {
            Console.WriteLine("days is an even number");
        }
        else
        {
            Console.WriteLine("days is an odd number");
        }   
    }
}
/* Output:
  True
  days is an <even/odd> number
*/

Wartość domyślna, bool jest zmienna false.Wartość domyślna, bool? jest zmienna null.

Konwersje

W języku C++, wartości typu bool mogą być konwertowane na wartości typu int; innymi słowy false jest równa zero i true jest odpowiednikiem wartości niezerowe.W C# jest bez konwersji między bool typu i innych typów.Na przykład, następujące if instrukcji jest nieprawidłowy w języku C#:

int x = 123;

// if (x)   // Error: "Cannot implicitly convert type 'int' to 'bool'"
{
    Console.Write("The value of x is nonzero.");
}

Aby przetestować zmiennej typu int, trzeba jawnie porównać go do wartości, takiej jak zero, w następujący sposób:


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

Przykład

W tym przykładzie wpisz znak z klawiatury, a następnie program sprawdza, jeśli znak wejściowy jest literą.Jest literą, sprawdza, jeśli jest małymi literami lub wielkimi literami.Kontrole te są wykonywane z IsLetter, i IsLower, zarówno zwrotu, które bool typu:

public class BoolKeyTest
{
    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.");
        }
    }
}
/* Sample Output:
    Enter a character: X
    The character is uppercase.

    Enter a character: x
    The character is lowercase.

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

Specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka to najlepsze źródło informacji dotyczących składni i zastosowania języka C#.

Zobacz też

Informacje

Słowa kluczowe języka C#

Tabela typów integralną (C# odniesienia)

Wbudowane typy tabeli (C# odniesienia)

Tabeli niejawne konwersje numeryczne (C# odniesienia)

Jawne numeryczne tabeli konwersji (C# odniesienia)

Koncepcje

Podręcznik programowania C#

Inne zasoby

C# odniesienia