Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемВладимир Шухмин
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 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 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 Литералы 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 5 Символьные char c = r; Строковые string str = "Это текст.\n"; string str текст."; string path = c:\\games\\; string path
6 string strSrc = "_Привет"; string strCut = strSrc.Remove(0, 1); string str = "..."; str += "..."; StringBuilder sb = new StringBuilder(); sb.Append("..."); string str = sb.ToString(); Immutable
7 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 8 Константы в теле методов const int bytesPerKbyte = 1024; const double g = 9.8; const char delimiter = '.'; const string header = "Заголовок";
9 Неявные приведения типов 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 10 FromTo intlong, float, double или decimal longfloat, double или decimal floatdouble..… Таблица неявных числовых преобразований (Справочник по C#):
11 Явные преобразования типов 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 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 13 double value; // безопасный if (!Double.TryParse("123,45", out value)) {... } // может выбросить исключение double value2 = Double.Parse("123,45");
14 // Классы стандартных типов содержат различные поля: double eps = Double.Epsilon; double max = Double.MaxValue; double x = 5.0 / 0.0; if (double.IsInfinity(x)) { }
15 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 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 17 Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Yellow"); Console.ResetColor();
18 Массивы (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
19 int[] a = new[] { 1, 2, 3 }; var a = new[] { 1, 2, 3 };
20 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)
21 тип [][] имя_массива = new тип [размер][]; int [][] array = new int [2][]; array[0] = new int [] {1,2,3}; array[1] = new int [5]; for (int i=0; i
22 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;
23 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); }
24 Перечисления (enumerations) -удобный способ группировки целочисленных констант enum Colors { red, green, blue }; Colors useColor = Colors.green; Console.WriteLine(useColor); //green Console.WriteLine((int)useColor); //1 24
25 enum DaysOfWeek { Monday = 1, Tuesday, ….. }; enum DaysOfWeek : sbyte { Monday, Tuesday, ….. }; 25
26 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 27 Типы данных void value reference pointers Логический Целые Вещественные Символы enum struct +nullable string object Массивы Классы Интерфейсы Делегаты base user
28 object Является базовым для всех типов языка C# int val = 5; object p = val;// boxing int x = (int)p; // unboxing 28
29 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()
30 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; }
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.