Рис. 7.2. Генерирование последовательностей случайных чисел в процедуре Rand На этом заканчивается рассмотрение темы выражений языка C#. е double в тип bool приводит к ошибке, потому и закомментировано. Состав операторов языка C#, их синтаксис и семантика унаследованы от языка С++. Как и положено, потомок частично дополнил состав, переопределил синтаксис и семантику отдельных операторов, постарался улучшить характеристики языка во благо программиста. Посмотрим, насколько это удалось языку C#. Оператор присваивания Как в языке С++, так и в C# присваивание формально считается операцией. Вместе с тем запись: X= expr; следует считать настоящим оператором присваивания, так же, как и одновременное присваивание со списком переменных в левой части: X1 = X2 = ... = Xk = expr; В отличие от языка C++ появление присваивания в выражениях C# хотя и допустимо, но практически не встречается. Например, запись: if(x = expr)... часто используемая в С++, в языке C# в большинстве случаев будет воспринята как ошибка еще на этапе компиляции. В предыдущих лекциях семантика присваивания разбиралась достаточно подробно, поэтому сейчас я на этом останавливаться не буду. С помощью фигурных скобок несколько операторов языка (возможно, перемежаемых объявлениями) можно объединить в единую синтаксическую конструкцию, называемую блоком |