Ниже приведен пример программы, в которой кодовый блок служит для того, чтобы исключить деление на нуль.
>// Продемонстрировать применение кодового блока.
>using System;
>class BlockDemo {
> static void Main() {
> int i, j, d;
> i = 5;
> j = 10;
> // Адресатом этого оператора if служит кодовый блок,
> if(i != 0) {
> Console.WriteLine ("i не равно нулю");
> d = j / i;
> Console.WriteLine("j / i равно " + d);
> }
> }
>}
Вот к какому результату приводит выполнение данной программы.
>i не равно нулю
>j / i равно 2
В данном примере адресатом оператора >if
служит кодовый блок, а не единственный оператор. Если условие, управляющее оператором >if
, оказывается истинным, то выполняются три оператора в кодовом блоке. Попробуйте задать нулевое значение переменной i, чтобы посмотреть, что из этого получится.
Рассмотрим еще один пример, где кодовый блок служит для вычисления суммы и произведения чисел от 1 до 10.
>// Вычислить сумму и произведение чисел от 1 до 10.
>using System;
>class ProdSum {
> static void Main() {
> int prod;
> int sum;
> int i;
> sum = 0;
> prod = 1;
> for (i=1; i <= 10; i++) {
> sum = sum + i;
> prod = prod * i;
> }
> Console.WriteLine("Сумма равна " + sum);
> Console.WriteLine("Произведение равно " + prod);
> }
>}
Ниже приведен результат выполнения данной программы.
>Сумма равна 55
>Произведение равно 3628800
В данном примере внутри кодового блока организуется цикл для вычисления суммы и произведения. В отсутствие такого блока для достижения того же самого результата пришлось бы организовать два отдельных цикла.
И последнее: кодовые блоки не снижают эффективность программ во время их выполнения. Иными словами, наличие символов { и }, обозначающих кодовый блок, никоим образом не замедляет выполнение программы. В действительности применение кодовых блоков, как правило, приводит к повышению быстродействия и эффективности программ, поскольку они упрощают программирование определенных алгоритмов.
Точка с запятой и оформление исходного текста программы
В C# точка с запятой обозначает конец оператора. Это означает, что каждый оператор в отдельности должен оканчиваться точкой с запятой.
Как вы уже знаете, кодовый блок представляет собой набор логически связанных операторов, заключенных в фигурные скобки. Блок не оканчивается точкой с запятой, поскольку он состоит из группы операторов. Вместо этого окончание кодового блока обозначается закрывающей фигурной скобкой.
В C# конец строки не означает конец оператора — о его окончании свидетельствует только точка с запятой. Именно поэтому оператор можно поместить в любой части строки. Например, на языке C# строки кода
>X = у;
>у = у + 1;
>Console.WriteLine(х + " " + у);
означают то же самое, что и строка кода
>х = у; у = у + 1; Console.WriteLine(х + " " + у);
Более того, составные элементы оператора можно располагать в отдельных строках. Например, следующий фрагмент кода считается в C# вполне допустимым.
>Console.WriteLine("Это длинная строка вывода" +
> х + у + z +
> "дополнительный вывод");
Такое разбиение длинных строк нередко применяется для того, чтобы сделать исходный текст программы более удобным для чтения. Оно помогает также исключить заворачивание слишком длинных строк.