С#. Типы и классы 2 Определение основных понятий

Скачать презентацию С#. Типы и классы 2 Определение основных понятий Скачать презентацию С#. Типы и классы 2 Определение основных понятий

15656-02_c_types.ppt

  • Количество слайдов: 15

>С#. Типы и классы С#. Типы и классы

>2 Определение основных понятий Класс (Class) Объект (Object) Пространство имен (Namespace) Проект (Project) Сборка 2 Определение основных понятий Класс (Class) Объект (Object) Пространство имен (Namespace) Проект (Project) Сборка (Assembly) Решение (Solution)

>3 Система типов языка С# 1. Логический тип ( bool ). 2. Символьный тип 3 Система типов языка С# 1. Логический тип ( bool ). 2. Символьный тип ( char ). 3. Целые типы. Целые типы могут быть одного из трех размеров - short, int, long, сопровождаемые описателем signed или unsigned, который указывает, как интерпретируется значение - со знаком или без оного. 4. Типы с плавающей точкой. Эти типы также могут быть одного из трех размеров - float, double, long double. 5. Тип void, используемый для указания на отсутствие информации. Язык позволяет конструировать типы. 6. Указатели (например, int* - типизированный указатель на переменную типа int). 7. Ссылки (например, double& - типизированная ссылка на переменную типа double). 8. Массивы (например, char[] - массив элементов типа char). Язык позволяет конструировать пользовательские типы. 9. Перечислимые типы ( enum ) для представления значений из конкретного множества. 10. Структуры ( struct ). 11. Классы ( class ).

>4 Система типов языка С# Все типы можно разделить на четыре категории: типы-значения ( 4 Система типов языка С# Все типы можно разделить на четыре категории: типы-значения ( value ), или значимые типы, развернутые типы - значение переменной хранится непосредственно в стеке; ссылочные ( reference ) - значение в стеке задает ссылку на область памяти в "куче« (Heap); указатели ( pointer ); тип void.

>5 Базисные встроенные типы языка С# 5 Базисные встроенные типы языка С#

>6 Синтаксис объявления сущностей [<атрибуты>] [<модификаторы>] <тип> <список объявителей>;  <имя> | <имя> = 6 Синтаксис объявления сущностей [<атрибуты>] [<модификаторы>] <тип> <список объявителей>; <имя> | <имя> = <инициализатор> Задание инициализатора в объектном стиле: new <имя конструктора>([<список аргументов>])

>7 Типы, допускающие неопределенные значения System.Nullable<T> T? A ?? B  Выполнение преобразований между 7 Типы, допускающие неопределенные значения System.Nullable T? A ?? B Выполнение преобразований между типами Т? и Т static void TestNullable() { int x = 3, y = 7; int? x1 = null, y1, z1; y1 = x + y; z1 = x1 ?? y1; Console.WriteLine("x1 = {0}, y1 = {1}, z1 = {2}", x1, y1, z1); }

>8 Выполнение преобразований между типами Т? и Т //x = (int)x1; y = (int)y1; 8 Выполнение преобразований между типами Т? и Т //x = (int)x1; y = (int)y1; Console.WriteLine("x = {0}, y = {1}", x, y); z1 = x1 * y ?? y1; y1 = z1 - y1; Console.WriteLine("x1 = {0}, y1 = {1}, z1 = {2}", x1, y1, z1); ________________________________________________________________ System.Nullable u = x + x1; double? v = y + y1, w; w = u ?? v + y1; Console.WriteLine("u = {0}, v = {1}, w = {2}", u, v, w);

>9 Выполнение преобразований между типами Т? и Т 9 Выполнение преобразований между типами Т? и Т

>10 static void NullAndNan() {     double? u = null, v 10 static void NullAndNan() { double? u = null, v = 0, w = 1.5; Console.WriteLine("u = {0}, v = {1}, w = {2}", u, v, w); double? x, y, z; x = u + v; y = w / v; z = x + y; Console.WriteLine("x = u + v = {0}, y = w / v = {1}, " + " z = x + y = {2}", x, y, z); Null, NaN и Infinity

>11 x = -y; y = v * y; z = x + y; 11 x = -y; y = v * y; z = x + y; Console.WriteLine("x = -y = {0}, y = v * y = {1}, " + " z = x + y = {2}", x, y, z); double p = -(double)w, q = double.NegativeInfinity; Console.WriteLine("p = {0}, q = {1}, 1 / q = {2}", Math.Sqrt(p), q, 1 / q); p = 1e160; Console.WriteLine("p = {0}, p * p = {1}", p, p * p); float p1 = 1e20f; Console.WriteLine("p1 = {0}, p1 * p1 = {1}", p1, p1 * p1); Null, NaN и Infinity

>12 Null, NaN и Infinity 12 Null, NaN и Infinity

>13 Типы и классы Наследуемые методы класса object: 1. bool Equals(object obj) - проверяет 13 Типы и классы Наследуемые методы класса object: 1. bool Equals(object obj) - проверяет эквивалентность текущего объекта и объекта, переданного в качестве аргумента; 2. System.Type GetType() - возвращает системный тип текущего объекта; 3. string ToString() - возвращает строку, связанную с объектом. Для арифметических типов возвращается значение, преобразованное в строку; 4. int GetHashCode() - служит как хэш-функция в соответствующих алгоритмах поиска по ключу при хранении данных в хэш-таблицах.

>14 Типы и классы. Пример  int x = 1; int v = new 14 Типы и классы. Пример int x = 1; int v = new Int32(); v = 007; string s1 = "Agent"; s1 = s1 + v.ToString() +x.ToString();

>15 Вопросы ? ? ? 15 Вопросы ? ? ?