Назад
Создание прибыльного бизнеспроекта на базе сайта

SEO + ASP.NET 4.0 + БИЗНЕСМОДЕЛЬ = ПРИБЫЛЬНЫЙ САЙТ

Инструмент быстрого построения прибыльного онлайн бизнеса своими силами без капиталовложений за 4 месяца все подробности на SEO + ASP.NET 4.0.

Подписка на рассылку

МАГИЯ C#!

Создание вебсайта с формой автоматического приема онлайн платежей по WebMoney!
Ваше имя
Ваш e-mail
Уроки по ASP.NET c# ADO.NET
     

18 видеоуроков
более 5 часов
по созданию сайта,
выполняющего
продажи ваших продуктов (физических/электронных) на полном автомате с личным оповещением на e-mail, а также ...
DVD-курс по C#, .NET

3 часть. Введение в ASP.NET. WebServices Профессиональная подготовка разработчика по языку C# на платформе .NET

asp.net webservices dvd c# gridview Гудок курс Более 65 подробных видео уроков по теоретическим основам технологии сайтостроения ASP.NET и процессу создания и использованию вебсервисов.

DVD-курс по C#, .NET

2А часть. XML/TXT в аспекте ADO.NET Профессиональная подготовка разработчика по языку C# на платформе .NET

xml txt dvd c# ADO ADO.NET Гудок курс 70 подробных видео уроков по работе с форматами xml, txt, по работе с файлами и директориями. Разработка высокоорганизованных свойств для значительного сокращения объема исходного кода и облегчения дальнейшей модификации и многое-многое другое...

DVD-курс по C#, .NET

1 часть. Windows Forms Профессиональная подготовка разработчика по языку C# на платформе .NET

Профессиональная подготовка на c# А. Гудок

185 подробнейших уроков (70 часов) лекций в формате видеоуроков по теории языка c# и платформы .NET. Практическое закрепление теоретического материала на примере создания Windows Forms - приложения видеоигры "Tanks"

DVD-курс по C#, .NET

2 часть. ADO.NET/SQL Профессиональная подготовка разработчика по языку C# на платформе .NET

Профессиональная подготовка на c# А. Гудок ADO.NET sql

165 подробных видео уроков по созданию приложений распределенных баз данных на примере разработки проектов с использований технологий ADO.NET (Connected model, Disconnected model, Typed DataSet, ...)

Бодибилдинг
Программы тренировок для занятий штангой, гантелями; описание тренажеров

Я записываю курсы!
  Курс валют

НБУ курс евро






Операторы языка C#



Состав операторов языка C#, их синтаксис и семантика во многом унаследованы от языка С++. Как и положено, потомок частично дополнил состав, переопределил синтаксис и семантику отдельных операторов, постарался улучшить характеристики языка в интересах программиста.

1) Оператор присваивания:

В предыдущей статье Операции языка c# я уже использовал этот оператор, построенный на основе операции присваивания. Его структуру можно описать так:

Переменная (объект) = Выражение;

Например, полную поверхность цилиндра можно вычислить с помощью оператора:

Volume = Math.Atan(1.0) * 4 * Radius * (Radius + Vysota);

В качестве переменной может выступать идентификатор любого типа, предварительно объявленный в программе как переменная (идентификатор может иметь и другой смысл, например, быть именем функции). Выражение может быть составлено с помощью различных операций (в примере использованы знаки + и *), явно заданных чисел (в примере – число 4), других идентификаторов переменных (в примере – Radius и Vysota), вызовов методов (в примере – Math.Atan). Обязательно только одно: типы переменной и выражения должны быть согласованы. В нашем примере это значит, что переменная Volume должна быть объявлена как переменная типа double. Оператор присваивания обязательно заканчивается знаком «точка с запятой».

2) Вызов метода:

Структура вызова метода описывается так:

Область нахождения метода.имя метода

Область нахождения метода – это та область программы, где описан этот метод. В качестве области может выступать пространство имён или имя класса. В предыдущем примере использована запись вызова метода Atan, который является компонентом класса Math (мы ещё поговорим подробнее о методах этого класса в следующих статьях). Имя метода записывается через точку после области нахождения. В свою очередь, область нахождения сама может быть составлена из нескольких имён, также разделённых точками. Например, вызов метода ввода строки с клавиатуры записывается так:

System.Console.ReadLine();

Вызов метода (вызов функции) для исполнения может использоваться в программе в двух смыслах. Если вызов записан в составе выражения, то вызов метода выступает в виде операнда. Результат выполнения метода сразу же используется при вычислении выражения. Если же метод выполняет какие-либо действия, но не формирует непосредственно используемого результата, то он описывается в виде оператора. Такая запись завершается знаком «точка с запятой». Например:

S = System.Console.ReadLine(); // вызов используется как операнд Console.WriteLine(“Привет посетителям сайта SkillCoding.com!”); // вызов записан как оператор

3) Блок или составной оператор:

Блок (составной оператор) воспринимается компилятором как один оператор. Используется там, где по смыслу должен быть именно единичный оператор. Блок описывается с помощью фигурных скобок. Один или несколько любых операторов можно заключить в фигурные скобки – получится составной оператор. Структура этого оператора:

{
оператор_1{
...{
оператор_N{
}

Обратите внимание: составной оператор не заканчивается знаком «точка с запятой». В состав одного блока могут включаться другие блоки. Пример записи блока:

{
int i, j;
string s;
s = Console.ReadLine();
i = (int)s[0];
Console.WriteLine(" " + i);
j = (int)s[1];
Console.WriteLine(" " + j);
if (i = = 53) Console.WriteLine(" " +(i & 15));
}

4) Операторы ветвления:

Для выбора одной из нескольких возможностей в языке C# имеются две конструкции – if и switch. Первую из них обычно называют альтернативным выбором, вторую - разбором случаев.

4.1. Оператор if:

Синтаксис оператора:

If (выражение_1) оператор_1
else if (выражение_2) оператор_2
...
else if (выражение_K) оператор_K
else оператор_N

Выражения в круглых скобках должны быть булевого типа. Точнее, при вычислениях выражения должны давать значения true или false. Вспомним, что арифметический тип не имеет явных или неявных преобразований к булевому типу. Каждый из операторов может быть любым оператором – в частности, блоком или другим if-оператором. Поэтому возможна и такая конструкция:

if (выражение_1) if (выражение_2) if (выражение_3) ...

Ветви else и if, позволяющие организовать выбор из многих возможностей, могут отсутствовать. Может отсутствовать заключительная else-ветвь. Выполняется тот оператор, который записан после выражения, имеющего истинное значение. Проверка истинности выражений выполняется в порядке их написания. Если все выражения ложны, то выполняется оператор после else. Пример записи оператора:

if (k % 7 = = 0)
{
Console.WriteLine("Число делится на 7 нацело");
}
else Console.WriteLine("Число не делится на 7");

4.2. Оператор switch:

Важным случаем выбора из нескольких вариантов является ситуация, при которой выбор варианта определяется значениями некоторого выражения. Такой выбор можно описать и оператором if, но тогда выражение придётся повторять в каждом условии. Более наглядным такой выбор можно сделать с помощью оператора switch. Вот его синтаксис:

switch (выражение)
{
case константное_выражение_1: операторы_1 оператор_перехода_1
...
case константное_выражение_K: операторы_K оператор_перехода_K
default: операторы_N оператор_перехода_N
}

Конструкция не очень строгая. Ветвь default может отсутствовать. Так же могут отсутствовать операторы перехода (если программисту так надо). А вот константные выражения в case должны иметь тот же тип, что и switch-выражение.

Из-за нестрогости конструкции семантика оператора switch чуть-чуть запутана. Вначале вычисляется значение switch-выражения. Затем оно поочерёдно в порядке следования case сравнивается на совпадение с константными выражениями. Как только достигнуто совпадение, выполняется соответствующая последовательность операторов case-ветви. Поскольку последний оператор этой последовательности является оператором перехода (чаще всего это оператор break), то обычно он завершает выполнение оператора switch. При его отсутствии управление "проваливается" в следующую case-ветвь. Если значение switch-выражения не совпадает ни с одним константным выражением, то выполняется последовательность операторов ветви default, если, конечно, она есть. Пример записи оператора:

switch (variant)
{
case 1: Console.Write("Сторона А = ");
temp = Console.ReadLine();
a = Convert.ToDouble(temp);
Console.Write("Сторона B = ");
temp = Console.ReadLine();
b = Convert.ToDouble(temp);
Console.WriteLine("Площадь прямоугольника = "+a*b);
break;
case 2: Console.Write("Сторона А = ");
temp = Console.ReadLine();
a = Convert.ToDouble(temp);
Console.Write("Высота H = ");
temp = Console.ReadLine();
h = Convert.ToDouble(temp);
Console.WriteLine("Площадь треугольниика = "+ a * h / 2);
break;
. . . . . . . . . . . . . . . . . . . .
default: Console.WriteLine("Выбор неверен ");
break;
}

5) Операторы цикла:

5.1. Оператор for:

Синтаксис оператора:

for (инициализаторы; условие; список_выражений) оператор

Оператор, стоящий после круглой закрывающей скобки, задаёт тело цикла. В большинстве случаев телом цикла является блок, но может быть и любой одиночный оператор. Сколько раз будет выполняться тело цикла, зависит от трёх управляющих элементов, заданных в скобках. Инициализаторы задают начальное значение одной или нескольких переменных, часто называемых счётчиками или просто переменными цикла. В большинстве случаев цикл for имеет один счётчик, но иногда бывает полезно иметь несколько счётчиков. Значение условия определяет, должен продолжаться цикл или должен завершиться. Если значение условия true, то цикл продолжается. Если false, то цикл завершается. Список выражений, записанный через запятую, показывает, как меняются счётчики цикла на каждом шаге выполнения.

Выполнение начинается с выполнения инициализаторов. Затем проверяется условие. Если условие цикла истинно, то выполняется тело цикла, затем изменяются значения счётчиков и снова проверяется условие. Как только условие становится ложным, цикл завершает свою работу. В цикле for тело цикла может ни разу не выполняться, если условие цикла ложно после инициализации, а может происходить зацикливание, если условие всегда остаётся истинным. В нормальной ситуации тело цикла выполняется конечное число раз. Счётчики цикла зачастую объявляются непосредственно в инициализаторе и, соответственно, являются переменными, локализованными в цикле, так что после завершения цикла они перестают существовать. Пример записи оператора – вычисление факториала натурального числа:

for (int i = 1, r = 1; i <= n; i++)
{
r = r*i;
}

5.2. Оператор while:

Цикл while является универсальным видом цикла, включаемым во все языки программирования. Тело цикла выполняется до тех пор, пока остаётся истинным выражение while. В языке C# у этого вида цикла две модификации – с проверкой условия в начале (цикл с предусловием) и в конце цикла (цикл с постусловием). Первая модификация имеет следующий синтаксис:

while (выражение) оператор

Эта модификация соответствует стратегии: "сначала проверь, а потом делай". В результате проверки может оказаться, что и делать ничего не нужно. Тело такого цикла может ни разу не выполняться. Конечно же, возможно и зацикливание. В нормальной ситуации каждое выполнение тела цикла – это очередной шаг к завершению цикла. С помощью этого вида цикла факториал вычисляется так:

i = 1;
r = 1;
while (i <= n)
{
r = r * i;
i++;
}

Цикл, проверяющий условие завершения в конце, соответствует стратегии: "сначала делай, а потом проверь". Вот синтаксис этой модификации:

do
оператор
while(выражение);

Тело такого цикла выполняется, по меньшей мере, один раз. Пример записи цикла:

i = 1;
r = 1;
do
{
r = r * i;
i++;
}while (i <= n)

5.3. Оператор foreach:

Новым видом цикла, не унаследованным от С++, является цикл foreach, удобный при работе с массивами. Рассмотрим его подробно в другой моей статье при изучении массивов Массивы в c#.

6) Операторы перехода:

Операторов перехода, позволяющих прервать естественный порядок выполнения операторов блока, в языке C# несколько.

6.1. Оператор goto:

Сразу нужно отметить, что использование этого оператора не рекомендуется. В принципе он допустим, так как достался языку C# в наследство от языка C. Однако, его использование не соответствует структурному стилю программирования, и делает запутанной логику программы. Оператор goto имеет три варианта записи.

А) goto метка;
Б) goto case константное_выражение;
В) goto default;

Первый вариант основан на следующем соображении. Все операторы языка C# могут иметь метку - уникальный идентификатор, предшествующий оператору и отделённый от него символом двоеточия. Передача управления помеченному оператору – это классическое использование оператора goto. Два других варианта используются внутри оператора switch. Они обеспечивают передачу управления в case-ветвь или default-ветвь.

6.2. Операторы break и continue:

Хорошим стилем программирования считается, когда используются "переходы вперёд" (но не назад), позволяющие при выполнении некоторого условия выйти из цикла, из оператора ветвления, из блока. Для этой цели можно использовать оператор goto, но лучше применять специально предназначенные для этих целей операторы break и continue.

Оператор break может стоять в теле цикла или завершать case-ветвь в операторе switch. Пример его использования в операторе switch уже демонстрировался. При выполнении оператора break в теле цикла завершается выполнение самого внутреннего цикла. В теле цикла, чаще всего, оператор break помещается в одну из ветвей оператора if, проверяющего условие преждевременного завершения цикла. Пример:

do
{ ...
Console.Write("Завершаем работу? (Y,N)");
temp = Console.ReadLine();
otv = char.Parse(temp);
if (otv = = 'Y' || otv = = 'y') break;
...
}while(...);

Оператор continue используется только в теле цикла. В отличие от оператора break, завершающего внутренний цикл, continue осуществляет переход к следующему шагу цикла. Пример – вычисление значений функции на интервале от -10 до +10:

for (int i = -10; i < 11; i++)
{
if (i > -4 && i < 4) continue;
y= Math.Sqrt(i * i - 9);
Console.WriteLine("Значение функции = {0} при значении аргумента {1}", y, i);
}

Здесь переход к следующему шагу цикла без вычислений необходим потому, что на отрезке [-3, 3] значение функции не существует.

6.3. Оператор return:

Ещё одним оператором, относящимся к группе операторов перехода, является оператор return, позволяющий завершить выполнение метода (процедуры или функции). Его мы рассмотрим позднее в другой отдельной статье.



Больше информации читайте по теме:

Операции языка C# и особенности их использования
Шифрование на c# (хеш-код строки по алгоритму MD5)
Отписка от событий в c#
Примеры регулярных выражений на c# (класс RegularExpressions.Regex)
c# - итератор для списка Dictionary (foreach для словаря)
Перемешивание списков (массивов) любых типов на c# - противоположность сортировки
c# - CultureInfo (IFormatProvider) и конвертация, приведение числовых типов
Работа в c# с DateTime - получение набора дат в текущем году
GZip - архивация (упаковка) файлов на c#
DateTime - пример определения даты и времени
Время выполнения операций c#
Паттерн (шаблон) SingleTon средствами c#
Обобщенная коллекция Dictionary
c# структуры - не классы?! А что же это - struct VS class
Создание пользовательских событий на c#
Выборка файлов из директории и поддиректорий на c#
Делегаты и методы на c#
Запуск одного экземпляра приложения на c#
c# - Битовый флаг enum



Оценить статью:

Оценивая статью, Вы подсказываете нам насколько данная информация стала полезной именно для Вас. Мы ожидаем, прежде всего, оценку доступности материала для понимания и простоты его изложения. Дополнительные комментари, вопросы, дополнения и замечания Вы можете указать на странице От Вас

Частичное, или полное копирование материала данной статьи возможно лишь при размещении ссылки на данную страницу.


            
        




Имя:  


Текст комментариев (не больше 600 знаков):  
введите не более 600 знаков



Введите символы с картинки:
Капча имеет "срок годности". Поэтому, если необходимо обновите страницу.



Черный список покупателей
c# курс Гудок   курс по ASP.NET Гудок   курс по ADO.NET Гудок   курс по XML txt Гудок   курс по рефлексии и многопоточности Гудок