Aracılığıyla paylaş


if-else (C# Başvurusu)

Bir if deyimi tanımlar çalıştırmak için hangi ifade değerini esas alan bir Boolean ifadesi.Aşağıdaki örnekte, Boolean değişken result ayarlamak true ve iade edilen if ifadesi.Çıktı şu şekildedir: 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.");
}

Bu konudaki örnekler koyarak bunları çalıştırabilirsiniz Main yöntemi, bir konsol uygulaması.

Bir if C# [NULL]'ta deyimi aşağıdaki örnekte gösterildiği gibi iki formlar alabilir.

// 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.

İçinde bir if-else ifadesi, condition , true olarak değerlendirilir then-statement çalışır.condition False ise else-statement çalışır.Çünkü condition aynı anda true ve false olamaz then-statement ve else-statement , bir if-else ifade hiçbir zaman her ikisini de çalıştırabilirsiniz.Sonra then-statement veya else-statement çalışır, Denetim sonraki deyime transfer edilir if ifadesi.

İçinde bir if deyimi içermeyen bir else ifadesi, condition doğrudur, then-statement çalışır.condition Denetim sonraki deyime aktarıldığı yanlış if ifadesi.

Her iki then-statement ve else-statement , tek bir deyim veya ayraç içine birden çok deyimleri oluşur ({}).Tek bir deyim için parantezler isteğe bağlıdır ancak önerilir.

Deyimini veya deyimlerini, then-statement ve else-statement başka bir de dahil olmak üzere herhangi bir tür olabilir if deyimi içinde özgün iç içe if ifadesi.İçinde iç içe if deyimleri, her else yan tümcesi ait en son if karşılık gelen yok else.Aşağıdaki örnekte, Result1 her ikisi de görünür m > 10 ve n > 20 doğru olarak hesaplanır.m > 10 Doğrudur, ancak n > 20 false ise Result2 görünür.

// 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");
    }

Bunun yerine, isterseniz, Result2 ne zaman görünmesini (m > 10) başlangıcını ve sonunu iç içe geçmiş kurmak için ayraçlar kullanılarak bu ilişkiyi belirtebilirsiniz, yanlış if deyim, aşağıdaki örnekte gösterildiği gibi.

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

Result2görünür koşulu (m > 10) yanlış olarak değerlendirilir.

Örnek

Aşağıdaki örnekte, klavyeden bir karakter girin ve programın kullandığı bir iç içe geçmiş if giriş karakteri alfabetik bir karakter olup olmadığını belirlemek için deyimi.Giriş karakteri alfabetik bir karakter ise, programın giriş karakteri büyük harf veya küçük olup olmadığını denetler.Her örneği için bir ileti görüntülenir.

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.

Ayrıca iç içe yerleştirebilirsiniz bir if deyimi başka bir blok içinde aşağıdaki gösterildiği gibi kısmi kodu.Örnek kümelerindeki if iki başka blokları ve ardından bir blok içindeki ifadeler.True veya false blokların hangi koşulların açıklamaları belirtin.

// 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.
}

Aşağıdaki örnek, bir giriş karakteri küçük harf, büyük harf veya sayı olup olmadığını belirler.Tüm üç koşul yanlışsa, karakter bir alfasayısal karakter değildir.Örneğin, her durum için bir ileti görüntüler.

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.

Bir deyimde else bloğu veya sonra blok yalnızca geçerli herhangi bir ifade olabilir gibi koşul için geçerli herhangi bir Boolean deyim kullanabilirsiniz.Mantıksal işleçler gibi kullanmak & &, &, |,|and ! bileşik koşulları sağlamak için.Aşağıdaki kod örnekleri gösterir.

// 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.

C# dil belirtimi

Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.

Ayrıca bkz.

Başvuru

C# Anahtar Sözcükleri

?: İşleci (C# Başvurusu)

if-else Deyimi (C++)

switch (C# Başvurusu)

Kavramlar

C# Programlama Kılavuzu

Diğer Kaynaklar

C# Başvurusu