Udostępnij za pośrednictwem


if-else (odwołanie w C#)

if Instrukcji identyfikuje, oświadczenie, które do uruchomienia na podstawie wartości z Boolean wyrażenie.W poniższym przykładzie Boolean zmienna result jest ustawiona na true i następnie zaewidencjonować if instrukcji.Wynik to The condition is true .

bool condition = true;

if (condition)
{
    Console.WriteLine("The variable is set to true.");
}
else
{
    Console.WriteLine("The variable is set to false.");
}

Można uruchamiać przykłady w tym temacie, umieszczając je w Main metoda aplikacji konsoli.

if Instrukcji w języku C# może przybrać dwie formy, jak pokazano w następującym przykładzie.

// if-else statement
if (condition)
{
    then-statement;
}
else
{
    else-statement;
}
// Next statement in the program.


// if statement without an else
if (condition)
{
    then-statement;
}
// Next statement in the program.

W if-else instrukcji, jeśli condition ma wartość PRAWDA, then-statement jest uruchamiany.Jeśli condition ma wartość false, else-statement jest uruchamiany.Ponieważ condition nie może być jednocześnie prawdziwe i fałszywe, then-statement i else-statement z if-else instrukcja można nigdy nie zarówno uruchamiana.Po then-statement lub else-statement biegi, formant zostaje przeniesiony do następnej instrukcji po if instrukcji.

W if instrukcji, który nie zawiera else instrukcji, jeśli condition ma wartość true, then-statement jest uruchamiany.Jeśli condition nie jest spełniony, formant zostaje przeniesiony do następnej instrukcji po if instrukcji.

Obie then-statement i else-statement może składać się z pojedynczą instrukcją lub wiele instrukcji, które są zawarte w nawiasach ({}).Dla pojedynczej instrukcji nawiasy klamrowe są opcjonalne, ale zalecane.

Instrukcja lub oświadczeń w then-statement i else-statement mogą być wszelkiego rodzaju, włącznie z innego if instrukcja zagnieżdżona wewnątrz oryginał if instrukcji.Zagnieżdżone w if instrukcji, każdy else klauzuli należy do ostatniego if który nie ma odpowiadającego mu else.W poniższym przykładzie Result1 jest wyświetlana, jeśli oba m > 10 i n > 20 przyjmują wartość true.Jeśli m > 10 jest true, ale n > 20 ma wartość false, Result2 pojawia się.

// Try with m = 12 and then with m = 8. 
int m = 12;
int n = 18;

if (m > 10)
    if (n > 20)
    {
        Console.WriteLine("Result1");
    }
    else
    {
        Console.WriteLine("Result2");
    }

Jeśli natomiast chcemy Result2 się pojawić, gdy (m > 10) ma wartość false, to stowarzyszenie można określić za pomocą nawiasów klamrowych ustanowienie początek i koniec zagnieżdżonych if instrukcji, jak pokazano w następującym przykładzie.

// Try with m = 12 and then with m = 8. 
if (m > 10)
{
    if (n > 20)
        Console.WriteLine("Result1");
}
else
{
    Console.WriteLine("Result2");
}

Result2pojawia się, gdy warunek (m > 10) nie jest spełniony.

Przykład

W poniższym przykładzie należy wprowadzić znak z klawiatury, a program korzysta z zagnieżdżonych if instrukcję, aby ustalić, czy wprowadzany znak jest się od znaku alfabetycznego.Jeśli wprowadzany znak jest się od znaku alfabetycznego, program sprawdza, czy wprowadzany znak jest małymi literami lub wielkimi literami.Dla każdego przypadku pojawi się komunikat.

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("The character isn't an alphabetic character.");
}

//Sample Output: 

//Enter a character: 2 
//The character isn't an alphabetic character. 

//Enter a character: A 
//The character is uppercase. 

//Enter a character: h 
//The character is lowercase.

Również można zagnieżdżać if instrukcja wewnątrz innego bloku, co ilustruje poniższy kod częściowe.Gniazda przykład if instrukcje wewnątrz dwa bloki else i jeden blok następnie.Komentarze określić, jakie są warunki są true lub false w każdym bloku.

// Change the values of these variables to test the results. 
bool Condition1 = true;
bool Condition2 = true;
bool Condition3 = true;
bool Condition4 = true;

if (Condition1)
{
    // Condition1 is true.
}
else if (Condition2)
{
    // Condition1 is false and Condition2 is true.
}
else if (Condition3)
{
    if (Condition4)
    {
        // Condition1 and Condition2 are false. Condition3 and Condition4 are true.
    }
    else
    {
        // Condition1, Condition2, and Condition4 are false. Condition3 is true.
    }
}
else
{
    // Condition1, Condition2, and Condition3 are false.
}

W poniższym przykładzie określa, czy znak wejściowy jest małymi literami, wielką literą lub liczbą.Jeśli wszystkie trzy warunki są fałszywe, znak nie jest znakiem alfanumerycznym.Przykład wyświetla komunikat dla każdego przypadku.

Console.Write("Enter a character: ");
char ch = (char)Console.Read();

if (Char.IsUpper(ch))
{
    Console.WriteLine("The character is an uppercase letter.");
}
else if (Char.IsLower(ch))
{
    Console.WriteLine("The character is a lowercase letter.");
}
else if (Char.IsDigit(ch))
{
    Console.WriteLine("The character is a number.");
}
else
{
    Console.WriteLine("The character is not alphanumeric.");
}

//Sample Input and Output: 
//Enter a character: E 
//The character is an uppercase letter. 

//Enter a character: e 
//The character is a lowercase letter. 

//Enter a character: 4 
//The character is a number. 

//Enter a character: = 
//The character is not alphanumeric.

Podobnie, jak instrukcja else blok lub następnie blok może być dowolną prawidłową instrukcją, można użyć dowolnym prawidłowym wyrażeniem warunkowym dla warunku.Można użyć operatorów logicznych, takich jak & &, &, |,|and ! warunki mieszanek.W poniższym kodzie pokazano przykłady.

// NOT
bool result = true;
if (!result)
{
    Console.WriteLine("The condition is true (result is false).");
}
else
{
    Console.WriteLine("The condition is false (result is true).");
}

// Short-circuit AND
int m = 9;
int n = 7;
int p = 5;
if (m >= n && m >= p)
{
    Console.WriteLine("Nothing is larger than m.");
}

// AND and NOT
if (m >= n && !(p > m))
{
    Console.WriteLine("Nothing is larger than m.");
}

// Short-circuit OR
if (m > n || m > p)
{
    Console.WriteLine("m isn't the smallest.");
}

// NOT and OR
m = 4;
if (!(m >= n || m >= p))
{
    Console.WriteLine("Now m is the smallest.");
}
// Output:
// The condition is false (result is true).
// Nothing is larger than m.
// Nothing is larger than m.
// m isn't the smallest.
// Now m is the smallest.

Specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.

Zobacz też

Informacje

Słowa kluczowe języka C#

?: — Operator (odwołanie w C#)

if-else — instrukcja (C++)

switch (odwołanie w C#)

Koncepcje

Przewodnik programowania w języku C#

Inne zasoby

Odwołanie w C#