Прежде всего обратим внимание на то, что переменная
someConditionтипаboolинициализируется значениемfalse.Далее проанализируем каждый операторif.Как следует из комментариев к данной программе, в первом оператореi fпеременнаяiинкрементируется, несмотря на то что значение переменнойsomeConditionравноfalse.Когда применяется логический оператор &, как это имеет место в первом оператореi f, выражение в правой части этого оператора вычисляется независимо от значения выражения в его левой части. А во втором оператореi fприменяется укороченный логический оператор. В этом случае значение переменнойiне инкрементируется, поскольку левый операнд (переменнаяsomeCondition)имеет значениеfalse,следовательно, выражение в правой части данного оператора пропускается. Из этого следует вывод: если в коде предполагается вычисление правого операнда логической операции И либо ИЛИ, то необходимо пользоваться неукороченными формами логических операций, доступных в С#.И последнее замечание: укороченный оператор И называется также
Оператор присваивания
Здесь
У оператора присваивания имеется одна интересная особенность, о которой вам будет полезно знать: он позволяет создавать цепочку операций присваивания. Рассмотрим, например, следующий фрагмент кода.
int х, у, z;
х = у = z = 100; // присвоить значение 100 переменным х, у и z
В приведенном выше фрагменте кода одно и то же значение 100 задается для переменных х,
уи z с помощью единственного оператора присваивания. Это значение присваивается сначала переменной z, затем переменнойуи, наконец, переменной х. Такой способ присваивания "по цепочке" удобен для задания общего значения целой группе переменных.Составные операторы присваивания
В C# предусмотрены специальные составные операторы присваивания, упрощающие программирование некоторых операций присваивания. Обратимся сначала к простому примеру. Приведенный ниже оператор присваивания
X = X + 10;
можно переписать, используя следующий составной оператор присваивания.
X += 10;
Пара операторов += указывает компилятору на то, что переменной х должно быть присвоено ее первоначальное значение, увеличенное на 10.
Рассмотрим еще один пример. Оператор
х = х - 100;