Содержание
- 2. Язык объектно-ориентированного программирования С#
- 3. Общие сведения по языку C# Появился в 2001 году. Основан на языках Java и Visual Basic
- 4. Андерс Хейлсберг (Anders Hejlsberg) Главный проектировщик и ведущий архитектор. Датский учёный в области информатики. В 1980
- 5. Программа на С# Программа это набор взаимосвязанных классов. Класс содержит данные и функции В одном из
- 6. Определение программы (Дейкстра) Программа = Алгоритм + Данные. Объектно-ориентированное определение программы: Программа это набор типов (классов,
- 7. Структура программы (сборки) на языке С# class Q struct M interface V class G struct K
- 9. Простая программа на C# using System; namespace ConsoleApp { class Program { static void Main() {
- 10. Сравнение C# и Java using System; class Program { public static void Main(string []) { Console.Write("Введите
- 11. Ввод с клавиатуры в Java byte in[ ] = new byte[100]; System.in.read(in); String vvod = new
- 12. Классы Классы это основные пользовательские типы данных. Экземпляры класса – Объекты. Классы описывают все элементы объекта
- 13. Составные элементы класса Поля (field) – обычно скрытые данные класса (внутренне состояние) Методы (methods) – операции
- 14. Экземпляры классов создается с помощью оператора new. Для получения данных объекта или вызова методов объекта, используется
- 15. В этом случае описание класса Автомобиль может выглядеть следующим образом: class Автомобиль { // описание свойств
- 16. Описание классов программы using XXX; // чужие пространства имен namespace MMM // свое пространство имен {
- 17. Пример простого класса namespace TestProg // наше пространство имен { class Point // наш класс MMM.Point
- 18. Пример описания и использования класса Самый простой класс class Car { } Класс с полями class
- 19. Инкапсуляция (Encapsulation) Максимальное закрытие доступа к состоянию объектов. Состояние объекта можно менять только используя свойства и
- 20. Описатели режимов доступа (access modifiers)
- 21. Типы данных
- 22. Основные понятия Программа это набор типов P = {T1, T2, …, Tn} Тип задает: Количество ячеек
- 23. Тип данных Язык C# является строго типизированным языком – все данные (константы и переменные) программы имеют
- 24. Основные сведения о типах Все элементы программы имеют тип (переменные, константы, выражения, методы, параметры методов, и
- 25. Виды типов языка C#
- 26. Хранение данных программы Данные используемые программой (переменные, константы) могут храниться в в двух типах оперативной памяти:
- 27. Различие между значащими и ссылочными типами int v = 123; string s; s = “Hello World!”;
- 28. Стек (stack) Стек – это линейный участок памяти (массив), который действует как структура данных типа «Последним
- 29. Куча (heap) Куча (heap) – это область оперативной памяти, в разных частях которой по запросу программы,
- 30. Память программы – стек и куча Стек (Stack) Куча (heap, free memory) Указатель вершины стека (Stack
- 31. Системные типы данных CLR В .Net Framework есть общие для всех языков, системные типы данных. Общая
- 32. Соответствие встроенных типов и системных типов Единая система типов Язык C# int float string Язык Visual
- 33. Типы определенные в CLR Object ValueType Boolean Byte Char Decimal Double Int16 Int32 Single Int64 UInt16
- 34. Наследование типов в CLR Object String Array ValueType Exception Delegate Class1 Class2 Class3 Multicast Delegate Structure1
- 35. Класс Object Все классы при создании наследует все свойства и методы родительского класса Object. Все встроенные
- 36. Методы класса System.Object Equals(object) виртуальный метод, возвращает true если значения объектов совпадают (по умолчанию, если два
- 37. Пример объявления переменных Пример объявления переменных и присваивания им значений в языке C# показан ниже: int
- 38. Встроенные типы языка C#
- 39. Встроенные типы (продолжение)
- 40. Логический тип данных bool Соответствует системному типу System.Boolean. Mожет хранить только значения констант true и false
- 41. Тип данных decimal Занимает 128-бит памяти. Имеет большую точность и меньший диапазон значений чем типы с
- 42. Не определенный тип - var Для переменной можно задать неопределенный тип (var) и присвоит некоторое значение.
- 43. Можно также использовать неявное задание типа массива. Например, следующие операторы объявляют массив типа Point: var points
- 44. Nullable типы данных Nullable типы данных это такие значащие типы данных, которые кроме обычных значений могут
- 45. Примеры nullable типов данных static void LocalNullableVariables() { // Описываем некоторые локальные значащие nullable типы. int?
- 46. Свойства Nullable типов Свойство bool HasValue – есть ли значение у переменной. Value – значение переменной
- 47. Использование nullable типов данных static void Main(string[] args) { Console.WriteLine("***** Работа с Nullable Data *****\n"); DatabaseReader
- 48. Данные Программа работает с данными. Данные могут храниться в виде: переменных констант
- 49. Переменные программы Переменные – это именованные участки оперативной памяти, которые могут хранить: значения некоторого типа (для
- 50. Объявление переменных Прежде, чем переменная может быть использована, она должна быть объявлена. Объявление переменных можно делать
- 51. Объявление переменных Формат объявления переменных: ; [= ] [ ] [= ]; где [ ] =
- 52. Время жизни переменных Переменные появляются (рождаются) статические переменные создаются при запуске программы (описатель static). не статические
- 53. Области видимости переменных Область видимости переменной (variable scope) это участок программы, в котором переменную можно использовать.
- 54. Пример областей видимости переменных public void ScopeTest() { int n = 0; for (int i =
- 55. Константы В C# константы могут задаваться в виде литералов (набора символов) или именованных констант. Например: y
- 56. Задание типа констант Тип целой константы определяется ее значением (количеством цифр). Константы с дробной частью имеют
- 57. Для точного указания некоторых типов можно задавать символ, стоящий после литерала (в верхнем или нижнем регистре).
- 58. Именованные константы Для объявление именованной константы перед типом переменной добавляется модификатор const, Именованную константу обязательна инициализация
- 59. Строковые константы Под строковыми константами понимается последовательность символов заключенных в двойные кавычки. Например: “Петров С.А.” В
- 60. Строковые константы В обычных константах некоторые символы интерпретируются особым образом. Это требуется, для задания в строке
- 61. @-константы Часто при задании констант, определяющих путь к файлу, приходится каждый раз удваивать символ обратной косой
- 62. 2. Операции
- 63. Операции Переменные и константы могут участвовать (объединяться) с помощью операций. Операция – это термин или символ,
- 64. Виды операций Операции, получающие на вход один операнд, например операция приращения (++) или new, называются унарными
- 65. Базовые операции
- 66. Унарные операции
- 67. Бинарные операции
- 68. Бинарные операции (продолжение)
- 69. Логические и условные операции
- 70. Приоритеты операций языка C#
- 71. Пояснение приоритета операций Вычисление выражений начинается с выполнения операций высшего приоритета. Например: первым делом вычисляются выражения
- 72. Пример Выражение “2 + 3 * 2” в обычном случае будет иметь значение 8, поскольку операции
- 73. Ассоциативность операций Если есть несколько операций с одинаковым приоритетом, то они вычисляются в соответствии с их
- 74. Перегрузкой операций Порядок выполнения операций с объектами пользовательских классов и структур можно изменить. Такой процесс называется
- 75. Тип результата операции Тип результата операции зависит от типов участвующих в операции операндов. Типом арифметической операции
- 76. Тип результата операции (2) Типом результата операции присваивания является тип левого операнда (переменной, которой присваивается значение).
- 77. Зачем нужны типы данных? Чтобы гарантировать осмысленность выполняемых операций:
- 78. Преобразование типов Неявное преобразование (implicit conversion) – выполняется автоматически. Явное преобразование (explicit conversion) – выполняется по
- 79. Неявное преобразование типов (implicit conversion) К неявным относятся преобразования, результат выполнения которых всегда успешен и не
- 80. Явное преобразование типов (explicit conversion) К явным относятся разрешенные преобразования, выполнение которых не гарантируется или может
- 81. Неявное и явное преобразование // Error: no conversion from int to short int x=5, y=6; short
- 82. Неявное преобразование типов на языке Java char c='X'; int code=c; System.out.println(code); Ответ: 88 (ASCII code of
- 83. Схема неявного приведение встроенных типов ulong long uint int ushort short byte sbyte float double decimal
- 84. Схема неявного приведение встроенных типов (упрощенная) long int short float double decimal char byte
- 85. Применение диаграммы Если на диаграмме задан путь (стрелками) от типа А к типу В, то это
- 86. Пример приведения встроенных типов bool c1 = true; int d = c1; // Error! Cannot implicitly
- 87. Явное преобразование типа Для указания явного преобразования типов используется операция приведения к типу (кастинг), которая имеет
- 88. Преобразование типов с помощью класса Convert Можно задать явным образом требуемое преобразование, используя специальные методы преобразования,
- 89. Пример преобразования типов System.Single f = 0.5F; float b = f; int a; a = (int)f;
- 90. Преобразование типов из строк с помощью метода Parse() У всех типов есть статический метод Parse(), который
- 91. Операция присваивания В C# присваивание является операцией, которая может использоваться в выражениях. В выражении, называемом множественным
- 92. Присваивание переменной стоящей слева (тип T) значения переменной или результата вычисления выражения (типа T1) возможно только
- 93. Специальные варианты присваивания В языке C# для двух частных случаев присваивания предложен специальный синтаксис: для присваиваний
- 94. Арифметические операции В языке C# имеются обычные для всех языков арифметические операции – "+, -, *,
- 95. Пример вычислений с различными арифметическими типами public void Sample() { int n = 7, m =3,
- 96. Операции инкрементации и декрементации Операции инкрементации (увеличение на единицу) и декрементации (уменьшение на единицу) могут быть
- 97. Операции отношения Операции отношения используются для сравнения значений переменных и констант. Всего имеется 6 операций отношения:
- 98. Логические операции В языке C# логические операции делятся на две категории: над логическими значениями операндов, над
- 99. Пример логических операций Рассмотрим пример: //операции отрицания ~,! bool b1,b2; b1 = 2*2==4; b2 =!b1; //
- 100. Бинарные логические операции Операции && и || определены только над данными типа bool: && – условное
- 101. Пример логических операций Например, рассмотрим задачу поиска элемента массива. Заданный элемент в массиве может быть, а
- 102. Побитовые операции Три бинарные побитовые операции: & – AND (если значения двух бит = 1, то
- 103. Таблицы истинности a и b типа bool: a и b типа int:
- 105. Скачать презентацию