Объявление и инициализация 1 int x = 2;int x; x = 2; 2. Всегда совмещаем объявление и инициализацию int width = 1024; int heigth = 768; float aspect =

Презентация:



Advertisements
Похожие презентации
Объявление и инициализация 1 int y = x + 2; int z = sqr(x); int x = 2;int x; x = 2; Какой способ лучше? int width = 1024; int heigth = 768; float aspect.
Advertisements

1 ©Павловская Т.А. Язык С# Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Перегрузка операторов x = a + b результат 1-й операнд2-й операнд оператор По количеству операндов операторы делятся на: унарные (один операнд) бинарные.
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
Программирование на языке высокого уровня Лекция 9. Символы. Кодировки. Строки. Массивы строк Кафедра АСОИУ ОмГТУ, 2012 Богатов Р.Н.
Язык программирования Си Элементы языка, типы данных, переменные, программа Югов Иван Олегович МОУ Гимназия 10, г. Тверь.
©Павловская Т.А. Язык С# Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Наследование Наследование – это отношение является между классами. class Person { string first_name; int birth_year;... } class Student : Person { float.
Структуры и перечисления Лекция 9. Структуры Структура – это значимый тип данных, экземпляр структуры размещается в стеке, а не в динамической памяти.
Индексаторы и операции классов. Лекция 5. Индексаторы. Если в классе есть скрытое поле, представляющее собой набор элементов, например, массив, то в нем.
Система типов Значение выражения характеризуется типом. При разработке кода любой сложности знание правил кодирования, вычисления и преобразования значений.
Правила записи программы. Турбо Паскаль Язык программирования был разработан Никлаусом Виртом в годах как учебный язык для студентов. Современный.
Перечисления и массивы 1 ©Павловская Т.А. (НИУ ИТМО)
Операции Условная операция ? : Если истинно, то результатом будет, иначе. Например, int x = a < b ? a : b вычисляет минимум из a и b.
Строки в Pascal
Символы и строки 1. Содержание 8.1Введение 8.2Основы Строк и Символов 8.3Библиотека работы со строками 8.4Преобразование строк 8.5Стандартная библиотека.
Типы данных Инна Исаева. Переменные Переменная - это как ящик, в котором можно хранить данные. Каждая переменная имеет своё имя, она служит для хранения.
Лекция 2 Введение в язык Си.
Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич Кафедра АСВК, Лаборатория Вычислительных комплексов.
Шешель Анжелика. Значения: Символьная величина – 1 символ (буква, цифра, знак) Строковая величина – строка символов.
Транксрипт:

Объявление и инициализация 1 int x = 2;int x; x = 2; 2. Всегда совмещаем объявление и инициализацию int width = 1024; int heigth = 768; float aspect = (float)width / heigth; int width = 1024; int heigth = 768; float aspect = (float)width / heigth; 3. Выравниваем код Типы данных 1. Даем понятные имена int k1 / int menuItem int j / int count string ss_ / string

2 Целые Дробные Символы и строки byte, sbyte (8) short, ushort (16) int, uint (32) long, ulong (64) float (32) double (64) char (16) string Логический bool (8) Базовый: object Финансовый decimal (128) Пустой: void

3 Краткое имя.Класс.NETТипWidthДиапазон (бит) byte ByteЦелое число без знака8От 0 до 255 sbyte SByteЦелое число со знаком8От -128 до 127 int Int32Целое число со знаком32От до uint UInt32Целое число без знака32От 0 до short Int16Целое число со знаком16От до ushort UInt16Целое число без знака16От 0 до long Int64Целое число со знаком64От до ulong UInt64Целое число без знака64От 0 до float SingleЧисло одинарной точности с плавающей запятой 32От -3, e38 до 3, e38 double DoubleЧисло двойной точности с плавающей запятой 64От -1, e308 до 1, e308 char CharОдиночный знак Юникода16Знаки Юникода в тексте bool BooleanЛогический тип8true или false object ObjectБазовый тип для всех остальных типов string StringПоследовательность знаков decimal DecimalТочный дробный или целочисленный 128От ±1,0 Ч 10e28 до ±7,9 Ч 10e28

Литералы 4 Явное указание типа литерала: long l или L ulong ul или UL float f или F decimal m или M Шестнадцатиричный литерал: 0x… 1 – int long float phi = 1.618; // Ошибка компиляции! float phi = 1.618f; Численные int n = 42; переменная литерал

5 Символьные char c = r; Строковые string str = "Это текст.\n"; string str текст."; string path = c:\\games\\; string path

string strSrc = "_Привет"; string strCut = strSrc.Remove(0, 1); string str = "..."; str += "..."; StringBuilder sb = new StringBuilder(); sb.Append("..."); string str = sb.ToString(); Immutable

7 string query = "SELECT * FROM Users"; var tableName = query.Substring(query.LastIndexOf("FROM") + 5); int sended = 1000; //string msg = "Отправлено " + sended + " пакетов"; string msg = string.Format("Отправлено {0} пакетов", sended);

8 Константы в теле методов const int bytesPerKbyte = 1024; const double g = 9.8; const char delimiter = '.'; const string header = "Заголовок";

Неявные приведения типов 9 int x = 5; long y = x; // Корректно long x = 5; int y = x; Cannot implicitly convert type 'long' to 'int'. int x = 5; double y = x; // С потерей точности double x = 5; int y = x; Cannot implicitly convert type double' to 'int'. Если операнды выражения разного типа, происходит приведение к большему. Происходит при: -присваивании -вызове функций …

10 FromTo intlong, float, double или decimal longfloat, double или decimal floatdouble..… Таблица неявных числовых преобразований (Справочник по C#):

Явные преобразования типов 11 double x = 5.5; int y = (int) x; // Потеря дробной части string str = "5.5"; int y = (int) str; Cannot convert type 'string' to 'int Таблица явных числовых преобразований (Справочник по C#):

12 // Конвертер стандартных типов int x = Convert.ToInt32(12.5); int z = Convert.ToInt32("12"); double y = Convert.ToDouble(12.0); Функции преобразования типа // Второй способ double value2 = Double.Parse("123,45");

13 double value; // безопасный if (!Double.TryParse("123,45", out value)) {... } // может выбросить исключение double value2 = Double.Parse("123,45");

// Классы стандартных типов содержат различные поля: double eps = Double.Epsilon; double max = Double.MaxValue; double x = 5.0 / 0.0; if (double.IsInfinity(x)) { }

15 Console.WriteLine("x = {0}, y = {1}, z = {2}", x, y, z); Форматированный вывод: Ввод/вывод Console.Write("Введите число: "); int x = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Вы ввели {0}", x); Console.ReadKey();

16 int i = 255; float f = 12.5f; double d = ; Console.WriteLine("{0:d4}", i); // 0255 Console.WriteLine("{0:f4}", d); // Console.WriteLine("{0:e}", f); // 1.25e+001 Console.WriteLine("{0:X}", i); // FF Console.WriteLine("{0:x}", i); // ff Console.WriteLine("{0:c}", d); // 3,14 р. / $3.14 Console.WriteLine("{0}", i.ToString("X"));

17 Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Yellow"); Console.ResetColor();

Массивы (arrays) int[] p; int[] p = {1, 2, 3, 4, 5}; int[] p = new int [5]; int[] p = new int [5] {1, 2, 3, 4, 5}; int[] p = new int [] {1, 2, 3, 4, 5}; Массивы – это ссылочный тип данных 18

int[] a = new[] { 1, 2, 3 }; var a = new[] { 1, 2, 3 };

int [,] table = new int [2, 3]; int [,] table = { {1,2,3}, {4,5,6} }; int [,] table = new int [2, 3] { {1,2,3}, {4,5,6} }; int [,] table = new int [,] { {1,2,3}, {4,5,6} }; Console.WriteLine( table[0, 2] ); Console.WriteLine(table.Length); 20 Многомерные массивы (multidimensional arrays)

тип [][] имя_массива = new тип [размер][]; int [][] array = new int [2][]; array[0] = new int [] {1,2,3}; array[1] = new int [5]; for (int i=0; i

22 Типы-значения и типы-ссылки int a = 144; 144 a value-type int[] a = {144, 112}; int[] b = a; 144 areference-type 112 0xA51E b Значение по умолчанию? Что копируется при присваивании? Где хранится? a = 0; b = 0; b = null;

static void F1(int x) { x = 0; } static void F2(int[] x) { x[0] = 7; } static void F3(int[] x) { x = new[] {3, 2, 1}; } static void Main() { int a = 5; int[] b = { 1, 2, 3 }; F1(a); F2(b); F3(b); }

Перечисления (enumerations) -удобный способ группировки целочисленных констант enum Colors { red, green, blue }; Colors useColor = Colors.green; Console.WriteLine(useColor); //green Console.WriteLine((int)useColor); //1 24

enum DaysOfWeek { Monday = 1, Tuesday, ….. }; enum DaysOfWeek : sbyte { Monday, Tuesday, ….. }; 25

26 public enum Operations { read, write }... public void Open(string fileName, Operations operation) { if (operation == Operations.read) { } else if (operation == Operations.write) { }... Open("file.txt", Operations.read);

27 Типы данных void value reference pointers Логический Целые Вещественные Символы enum struct +nullable string object Массивы Классы Интерфейсы Делегаты base user

object Является базовым для всех типов языка C# int val = 5; object p = val;// boxing int x = (int)p; // unboxing 28

nullable-типы int? x = null; x = 10; x = null; int y = x; if(x.HasValue) { int y = x.Value; } int y = x ?? 1; int z = x.GetValueOrDefault()

foreach (var column in grid.Columns) { bool? sortingState = _viewModel.Filter.GetOrderState(column.Header.ToString()); var state = SortingState.None; if (sortingState != null) { state = sortingState == true ? SortingState.Ascending : SortingState.Descending; } column.SortingState = state; }