Студопедия — Pragma warning 10 страница.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Pragma warning 10 страница.






1.5 Операторы;

Действия программы выражаются с помощью операторов. В C# поддерживается несколько различных типов операторов, некоторые из которых определяются как внедренные операторы.

Блок позволяет записывать несколько операторов в контекстах, в которых допускается только один оператор. Блок состоит из нескольких операторов, записанных между разделителями — { и }.

Операторы объявления используются для объявления локальных переменных и констант.

Операторы выражений используются для вычисления выражений. Как операторы могут использоваться следующие выражения: вызовы методов, выделение объектов с помощью оператора new, операторы присваивания «=» и составного присваивания, операции приращения и уменьшения с помощью операторов «++» и «--».

Операторы выбора используются для выполнения одного из нескольких возможных операторов на основании значения какого-либо выражения. В этой группе представлены операторы if и switch.

Операторы итераций используются для повторяющегося выполнения внедренного оператора. В этой группе представлены операторы while, do, for и foreach.

Операторы перехода используются для передачи управления. В этой группе представлены операторы break, continue, goto, throw, return и yield.

Оператор try...catch используется для перехвата исключений, происходящих во время выполнения блока. Оператор try...finally используется для задания кода финализации, который выполняется всегда (независимо от того, возникло или нет исключение).

Операторы checked и unchecked используются для управления контекстом проверки переполнения при выполнении целочисленных математических операций и преобразований.

Оператор lock используется для получения блокировки взаимного исключения для заданного объекта, выполнения оператора и последующего снятия блокировки.

Оператор using используется для получения ресурса, выполнения оператора и последующего удаления ресурса.

В следующей таблице представлены операторы C# и примеры их использования.

 

Оператор Пример
Объявление локальной переменной static void Main() { int a; int b = 2, c = 3; a = 1; Console.WriteLine(a + b + c); }
Объявление локальной константы static void Main() { const float pi = 3.1415927f; const int r = 25; Console.WriteLine(pi * r * r); }
Оператор выражения static void Main() { int i; i = 123; // Оператор выражения Console.WriteLine(i); // Оператор выражения i++; // Оператор выражения Console.WriteLine(i); // Оператор выражения }
Оператор if static void Main(string[] args) { if (args.Length == 0) { Console.WriteLine("Нет аргументов"); } else { Console.WriteLine("Один или более аргументов"); } }

 

Оператор switch static void Main(string[] args) { int n = args.Length; switch (n) { case 0: Console.WriteLine("Нет аргументов"); break; case 1: Console.WriteLine("Один аргумент"); break; default: Console.WriteLine("Аргументов: {0}", n); break; } } }
Оператор while static void Main(string[] args) { int i = 0; while (i < args.Length) { Console.WriteLine(args[i]); i++; } }
Оператор do static void Main() { string s; do { s = Console.ReadLine(); if (s!= null) Console.WriteLine(s); } while (s!= null); }
Оператор for static void Main(string[] args) { for (int i = 0; i < args.Length; i++) { Console.WriteLine(args[i]); } }
Оператор foreach static void Main(string[] args) { foreach (string s in args) { Console.WriteLine(s); } }
Оператор break static void Main() { while (true) { string s = Console.ReadLine(); if (s == null) break; Console.WriteLine(s); } }
Оператор continue static void Main(string[] args) { for (int i = 0; i < args.Length; i++) { if (args[i].StartsWith("/")) continue; Console.WriteLine(args[i]); } }

 

Оператор goto static void Main(string[] args) { int i = 0; goto check; loop: Console.WriteLine(args[i++]); check: if (i < args.Length) goto loop; }
Оператор return static int Add(int a, int b) { return a + b; } static void Main() { Console.WriteLine(Add(1, 2)); return; }
Оператор yield static IEnumerable<int> Range(int from, int to) { for (int i = from; i < to; i++) { yield return i; } yield break; } static void Main() { foreach (int x in Range(-10,10)) { Console.WriteLine(x); } }
Операторы throw и try static double Divide(double x, double y) { if (y == 0) throw new DivideByZeroException(); return x / y; } static void Main(string[] args) { try { if (args.Length!= 2) { throw new Exception("Введите два числа"); } double x = double.Parse(args[0]); double y = double.Parse(args[1]); Console.WriteLine(Divide(x, y)); } catch (Exception e) { Console.WriteLine(e.Message); } finally { Console.WriteLine("Окончание работы"); } }
Операторы checked и unchecked static void Main() { int i = int.MaxValue; checked { Console.WriteLine(i + 1); // Исключение } unchecked { Console.WriteLine(i + 1); // Переполнение } }

 

Оператор lock class Account { decimal balance; public void Withdraw(decimal amount) { lock (this) { if (amount > balance) { throw new Exception("Недостаточно средств"); } balance -= amount; } } }
Оператор using static void Main() { using (TextWriter w = File.CreateText("test.txt")) { w.WriteLine("Строка 1"); w.WriteLine("Строка 2"); w.WriteLine("Строка 3"); } }

 

1.6 Классы и объекты;

В C# классы представляют собой фундаментальные типы. Класс — это структура данных, объединяющая состояние (поля) и действия (методы и другие функции-члены). Класс предоставляет определения для динамически создаваемых экземпляров класса (также называются объектами). Классы поддерживают механизмы наследования и полиморфизма, которые позволяют создавать производные классы, расширяющие функциональные возможности базового класса.

Новые классы создаются с помощью объявлений класса. Объявление класса начинается с заголовка, в котором задаются атрибуты и модификаторы класса, имя класса, базовый класс (если есть), а также интерфейсы, реализуемые классом. За заголовком следует тело класса, которое содержит перечень объявлений членов, записанных между разделителями — { и }.

Ниже приведено объявление простого класса Point:

public class Point
{
public int x, y;

public Point(int x, int y) {
this.x = x;
this.y = y;
}
}

Экземпляры класса создаются с помощью оператора new, который выделяет память для нового экземпляра, вызывает конструктор для инициализации экземпляра и возвращает ссылку на экземпляр. С помощью следующих операторов создаются два объекта Point, ссылки на которые сохраняются в двух переменных:

Point p1 = new Point(0, 0);
Point p2 = new Point(10, 20);

Память, занимаемая объектом, автоматически освобождается, если объект более не используется. В C# не обязательно (и не допускается) явно освобождать память от объектов.

1.6.1 Члены;

Класс может содержать статические члены или члены экземпляра. Статические члены принадлежат классам. Члены экземпляра принадлежат объектам (экземплярам класса).

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

 

Член Описание
Константы Постоянные значения, связанные с классом
Поля Переменные класса
Методы Вычисления и действия, которые могут выполняться классом
Свойства Действия, связанные с чтением и записью именованных свойств класса
Индексаторы Действия, связанные с индексацией экземпляров класса, например массива
События Уведомления, которые могут формироваться классом
Операторы Операторы преобразования и выражений, поддерживаемые классом
Конструкторы Действия, необходимые для инициализации экземпляров класса или самого класса
Деструкторы Действия, выполняемые перед окончательным удалением экземпляров класса
Типы Вложенные типы, объявленные в классе

 







Дата добавления: 0000-00-00; просмотров: 462. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Лечебно-охранительный режим, его элементы и значение.   Терапевтическое воздействие на пациента подразумевает не только использование всех видов лечения, но и применение лечебно-охранительного режима – соблюдение условий поведения, способствующих выздоровлению...

Тема: Кинематика поступательного и вращательного движения. 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью, проекция которой изменяется со временем 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия