Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемinfosystemology.ru
1 Объявление и инициализация 1 int y = x + 2; int z = sqr(x); int x = 2;int x; x = 2; Какой способ лучше? int width = 1024; int heigth = 768; float aspect = (float)width / heigth; int width = 1024; int heigth = 768; float aspect = (float)width / heigth; Какая запись понятнее? Типы данных
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 6 Immutable string strSrc = "_Привет"; string strCut = strSrc.Remove(0, 1);
7 7 Константы в теле методов const int bytesPerKbyte = 1024; const double g = 9.8; const char delimiter = '.'; const string header = "Заголовок";
8 Неявные приведения типов 8 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'. Если операнды выражения разного типа, происходит приведение к большему. Происходит при: -присваивании -вызове функций …
9 9 FromTo intlong, float, double или decimal longfloat, double или decimal floatdouble..… Таблица неявных числовых преобразований (Справочник по C#):
10 Явные преобразования типов 10 double x = 5.5; int y = (int) x; // Потеря дробной части string str = "5.5"; int y = (int) str; Cannot convert type 'string' to 'int Таблица явных числовых преобразований (Справочник по C#):
11 11 // Конвертер стандартных типов int x = Convert.ToInt32(12.5); int z = Convert.ToInt32("12"); double y = Convert.ToDouble(12.0); Функции преобразования типа // Второй способ double value2 = Double.Parse("123,45");
12 12 // Классы стандартных типов содержат поля: double eps = Double.Epsilon; //double.Epsilon; double max = Double.MaxValue; // А также методы преобразования значения из строки: double value; // безопасный bool isOK = Double.TryParse("123,45", out value); // может выбросить исключение double value2 = Double.Parse("123,45"); // Подключение настроек локализации System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.GetCultureInfo("en-US"); double value2 = Double.Parse("123.45", ci);
13 13 Console.WriteLine("x = {0}, y = {1}, z = {2}", x, y, z); Форматированный вывод: string text = Console.ReadLine(); double d = Double.Parse(text); Ввод/вывод Console.Write("Введите число: "); int x = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Вы ввели {0}", x); Console.ReadKey();
14 14 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
15 15 Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Yellow"); Console.ResetColor();
16 Массивы (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}; Массивы – это ссылочный тип данных 16
17 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); 17 Многомерные массивы (multidimensional arrays)
18 тип [][] имя_массива = new тип [размер][]; int [][] array = new int [2][]; array[0] = new int [] {1,2,3}; array[1] = new int [5]; for (int i=0; i
19 19 Типы-значения и типы-ссылки int a = 144; 144 a value-type int[] a = {144, 112}; int[] b = a; 144 areference-type 112 0xA51E b Значение по умолчанию? Что копируется при присваивании? Где хранится?
20 Перечисления (enumerations) -удобный способ группировки целочисленных констант enum Colors { red, green, blue }; Colors useColor = Colors.green; Console.WriteLine(useColor); //green Console.WriteLine((int)useColor); //1 20
21 enum DaysOfWeek { Monday = 1, Tuesday, ….. }; enum DaysOfWeek : sbyte { Monday, Tuesday, ….. }; 21
22 22 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);
23 23 Типы данных void value reference pointers Логический Целые Вещественные Символы enum struct +nullable string object Массивы Классы Интерфейсы Делегаты base user
24 object Является базовым для всех типов языка C# int val = 5; object p = val;// boxing int x = (int)p; // unboxing 24
25 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()
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.