if-else (Справочник по C#)
Оператор if выбирает оператор для выполнения на основе значения выражения Boolean. В следующем примере переменной result типа Boolean присваивается значение true, а затем она проверяется оператором if. Результат получается следующим: The variable is set to true.
bool result = true;
if (result)
{
Console.WriteLine("The variable is set to true.");
}
else
{
Console.WriteLine("The variable is set to false.");
}
Если выражение в скобках оценивается как "true", то выполняется оператор Console.WriteLine("The variable is set to true."); . После выполнения оператора if управление передается следующему оператору. В этом примере "else" не выполняется.
Если требуется выполнить более одного оператора, условное выполнение нескольких операторов можно организовать, объединив их в блоки с помощью {}, как продемонстрировано в приведенном выше примере.
Оператор, выполняемый после проверки условия, может быть любого типа, включая другой оператор if, вложенный в оригинальный оператор if. Во вложенных операторах if предложение else принадлежит к последнему оператору if, у которого нет соответствующего else. Примеры.
int x = 12;
int y = 18;
if (x > 10)
if (y > 20)
Console.Write("Statement_1");
else
Console.Write("Statement_2");
В этом примере Statement_2 отображается, если условие (y > 20) оценивается как false. Однако если требуется связать Statement_2 с условием (x >10), используйте фигурные скобки:
if (x > 10)
{
if (y > 20)
Console.Write("Statement_1");
}
else
Console.Write("Statement_2");
В этом случае Statement_2 отображается, если условие (x > 10) оценивается как false.
Пример
В данном примере вводится символ с клавиатуры, а программа проверяет, является ли введенный символ буквой. Если да, то проверяется, является ли буква прописной или строчной. Во всех случаях отображается соответствующее сообщение.
class IfTest
{
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:
2
Sample Output
Enter a character: 2
The character is not an alphabetic character.
Additional sample might look as follows:
Run #2:
Enter a character: A
The character is uppercase.
Run #3:
Enter a character: h
The character is lowercase.
* */
}
Также можно расширить возможности оператора if, чтобы обрабатывать несколько условий с помощью следующего расположения "if":
if (Condition_1)
{
// Statement_1;
}
else if (Condition_2)
{
// Statement_2;
}
else if (Condition_3)
{
// Statement_3;
}
else
{
// Statement_n;
}
В этом примере проверяется, является ли введенный символ прописной буквой, строчной буквой или цифрой. В противном случае символ не является буквенно-цифровым знаком. В программе используется цепная схема "else-if".
public class IfTest3
{
static void Main()
{
Console.Write("Enter a character: ");
char c = (char)Console.Read();
if (Char.IsUpper(c))
{
Console.WriteLine("Character is uppercase.");
}
else if (Char.IsLower(c))
{
Console.WriteLine("Character is lowercase.");
}
else if (Char.IsDigit(c))
{
Console.WriteLine("Character is a number.");
}
else
{
Console.WriteLine("Character is not alphanumeric.");
}
}
}
/*
Sample Input: E
Sample Output:
Enter a character: E
The character is uppercase.
Additional sample runs might look as follows:
Run #2
Enter a character: e
The character is lowercase.
Run #3:
Enter a character: 4
The character is a number.
Run #4:
Enter a character: $
The character is not alphanumeric.
*/
Спецификация языка C#
Дополнительные сведения см в Спецификация языка C#. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.
См. также
Ссылки
Оператор ?: (справочник по C#)
Основные понятия
Руководство по программированию на C#