Герберт Шилдт - C# 4.0 полное руководство - 2011
- Название:C# 4.0 полное руководство - 2011
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Герберт Шилдт - C# 4.0 полное руководство - 2011 краткое содержание
C# 4.0 полное руководство - 2011 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Присваивать переменной результат выполнения оператора ? совсем не обязательно. Например, значение, которое дает оператор ?, можно использовать в качестве аргумента при вызове метода. А если все выражения в операторе ? относятся к типу bool, то такой оператор может заменить собой условное выражение в цикле или операторе
if. В приведенном ниже примере программы выводятся результаты деления числа 100 только на четные, ненулевые значения.
// Разделить только на четные, ненулевые значения.
using System;
class NoZeroDiv2 { static void Main() {
for(int i = -5; i < 6; i++)
if(i != 0 ? (i%2 == 0) : false)
Console.WriteLine("100 / " + i + " равно " + 100 / i);
}
}
Обратите внимание на оператор if в приведенной выше программе. Если значение переменной i равно нулю, то оператор i f дает ложный результат. А если значение переменной i не равно нулю, то оператор if дает истинный результат, когда значение переменной i оказывается четным, и ложный результат, если оно нечетное. Благодаря этому допускается деление только на четные и ненулевые значения. Несмотря на то что данный пример служит лишь для целей демонстрации, подобные конструкции иногда оказываются весьма полезными.
Использование пробелов и круглых скобок
В выражении на C# допускается наличие символов табуляции и пробелов, благодаря которым оно становится более удобным для чтения. Например, оба приведенных ниже выражения, по существу, одинаковы, но второе читается легче.
х=10/у*(127+х) ; х = 10 / у * (127 + х) ;
I
Скобки могут служить для группирования подвыражений, по существу, повышая порядок предшествования заключенных в них операций, как в алгебре. Применение лишних или дополнительных скобок не приводит к ошибкам и не замедляет вычис^ ление выражения. Поэтому скобки рекомендуется использовать, чтобы сделать более ясным и понятным порядок вычисления как для самого автора программы, так и для тех, кто будет разбираться в ней впоследствии. Например, какое из двух приведенных ниже выражение легче читается?
х = у/3-34*temp+127; х = (у/3) - (34*temp) + 127;
Предшествование операторов
В табл. 4.2 приведен порядок предшествования всех операторов в С#: от самого высокого до самого низкого. В таблицу включен ряд операторов, рассматриваемых далее в этой книге.
Таблица 4.2. Предшествование операторов в C#
Наивысший
порядок
О
[]
.
++
--
checked
new sizeof typeof unchecked
(постфиксный)
(постфиксный)
j
(приведение
+(унарный)
- (унарный)
++
--
типов)
(префиксный) префиксный)
★
/
о
о
+
-
«
»
<
>
1 =
<=
>=
is
&
А
1
&&
1 I
1 1 ? ?
? :
=
ор=
=>
Наинизший
порядок
ГЛАВА 5 Управляющие операторы
В этой главе речь пойдет об операторах, управляющих ходом выполнения программы на С#. Управляющие операторы разделяются на три категории: операторы выбора , к числу которых относятся операторы if и switch, итерационные операторы, в том числе операторы цикла for, while, do-while и foreach, а также операторы перехода: break, continue, goto, return и throw. За исключением оператора throw, который является неотъемлемой частью встроенного в C# механизма обработки исключительных ситуаций, рассматриваемого в главе 13, все остальные управляющие операторы представлены в этой главе.
Оператор if
Оператор i f уже был представлен в главе2 , а здесь он рассматривается более подробно. Ниже приведена полная форма этого оператора:
if ( условие) оператор ; else оператор ;
где условие — это некоторое условное выражение, а оператор — адресат операторов if и else. Оператор else не является обязательным. Адресатом обоих операторов, if и else, могут также служить блоки операторов. Ниже приведена общая форма оператора i f, в котором используются блоки операторов.
if ( условие)
{
последовательность операторов
else
{
последовательность операторов
}
Если условное выражение оказывается истинным, то выполняется адресат оператора if. В противном случае выполняется адресат оператора else, если таковой существует. Но одновременно не может выполняться и то и другое. Условное выражение, управляющее оператором if, должно давать результат типа bool.
Ниже приведен пример простой программы, в которой операторы if и else используются для того, чтобы сообщить, является ли число положительным или отрицательным.
// Определить, является ли числовое значение положительным или отрицательным.
using System;
class PosNeg {
static void Main() { int i;
for(i=-5; i <= 5; i++) {
Console.Write("Проверка " + i + ": ");
if(i < 0) Console.WriteLine("отрицательное число"); else Console.WriteLine("положительное число");
}
}
}
Результат выполнения этой программы выглядит следующим образом.
Проверка
-5
отрицательное
число
Проверка
-4
отрицательное
число
Проверка
-3
отрицательное
число
Проверка
-2
отрицательное
число
Проверка
-1
отрицательное
число
Проверка
0
положительное
число
Проверка
1
положительное
число
Проверка
2
положительное
число
Проверка
3
положительное
число
Проверка
4
положительное
число
Проверка
5
положительное
число
Если в данном примере значение переменной i оказывается меньше нуля, то выполнятся адресат оператора if . В противном случае выполняется адресат оператора else, одновременно они не выполняются.
Читать дальшеИнтервал:
Закладка: