98 lines
3.3 KiB
Markdown
98 lines
3.3 KiB
Markdown
|
---
|
|||
|
title: If
|
|||
|
localeTitle: Если
|
|||
|
---
|
|||
|
# Если
|
|||
|
|
|||
|
Оператор if выполняет различные блоки кода на основе условий.
|
|||
|
```
|
|||
|
if (condition)
|
|||
|
{
|
|||
|
// Do something when `condition` is true
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// Do something when `condition` is false
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
Когда `condition` истинно, код внутри , `if` это секция выполняется, в противном случае `else` выполняется. Иногда вам нужно добавить второе условие. Для удобочитаемости вы должны использовать `else if` не вложенные инструкции `if` . вместо написания:
|
|||
|
```
|
|||
|
if (condition)
|
|||
|
{
|
|||
|
// Do something if `condition` is true
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (anotherCondition)
|
|||
|
{
|
|||
|
// Do something if `anotherCondition` is true
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// Do something if `condition` AND `anotherCondition` is false
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
Вы можете использовать гораздо более сжатое письмо:
|
|||
|
```
|
|||
|
if (condition)
|
|||
|
{
|
|||
|
// Do something if `condition` is true
|
|||
|
}
|
|||
|
else if (anotherCondition)
|
|||
|
{
|
|||
|
// Do something if `anotherCondition` is ture
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// Do something if `condition` AND `anotherCondition` is false
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
Также возможно проверить, является ли условие ложным и действовать на нем, не имея необходимости иметь инструкцию else.
|
|||
|
```
|
|||
|
if(!condition)
|
|||
|
{
|
|||
|
//do something if the condition is false
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
```
|
|||
|
int number = 3;
|
|||
|
//!= implies that you wish to check if the object's value is not equal to the value next to it
|
|||
|
if(number !=2)
|
|||
|
{
|
|||
|
Console.WriteLine("Number is not 2");
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
Обратите внимание, что разделы `else` и `else if` не требуются, а `if` это обязательно.
|
|||
|
|
|||
|
## пример
|
|||
|
```
|
|||
|
Console.WriteLine("Who are you? ");
|
|||
|
string name = Console.ReadLine();
|
|||
|
|
|||
|
if (name == "John")
|
|||
|
{
|
|||
|
Console.WriteLine("Hi John!");
|
|||
|
}
|
|||
|
else if (name == "Fabio")
|
|||
|
{
|
|||
|
Console.WriteLine("Oh, it's you Fabio :)");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Console.WriteLine("Oh! I thought you were John or Fabio. Anyway, nice to meet you {0}!", name);
|
|||
|
}
|
|||
|
|
|||
|
/* Run and type some names:
|
|||
|
-> If name is "John", then output is "Hi John!"
|
|||
|
-> If name is "Fabio", then output is "Oh, it's you Fabio :)"
|
|||
|
-> If name is neither "John" nor "Fabio", output is "Oh! I thought you were John or Fabio. Anyway, nice to meet you {0}!" where {0} contains the name.
|
|||
|
*/
|
|||
|
```
|
|||
|
|
|||
|
Оператор if требует логического результата, то есть true или false. В некоторых языках программирования несколько типов данных могут быть автоматически преобразованы в booleans, но в C # вы должны специально сделать результат логическим. Например, вы не можете использовать if (number), но вы можете сравнивать число с чем-то, чтобы генерировать true или false.
|