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





![6 Синтаксис объявления сущностей [<атрибуты>] [<модификаторы>] <тип> <список объявителей>; <имя> | <имя> = 6 Синтаксис объявления сущностей [<атрибуты>] [<модификаторы>] <тип> <список объявителей>; <имя> | <имя> =](https://present5.com/presentacii-2/20171208\15656-02_c_types.ppt\15656-02_c_types_6.jpg)









15656-02_c_types.ppt
- Количество слайдов: 15
С#. Типы и классы
2 Определение основных понятий Класс (Class) Объект (Object) Пространство имен (Namespace) Проект (Project) Сборка (Assembly) Решение (Solution)
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 Система типов языка С# Все типы можно разделить на четыре категории: типы-значения ( value ), или значимые типы, развернутые типы - значение переменной хранится непосредственно в стеке; ссылочные ( reference ) - значение в стеке задает ссылку на область памяти в "куче« (Heap); указатели ( pointer ); тип void.
5 Базисные встроенные типы языка С#
6 Синтаксис объявления сущностей [<атрибуты>] [<модификаторы>] <тип> <список объявителей>; <имя> | <имя> = <инициализатор> Задание инициализатора в объектном стиле: new <имя конструктора>([<список аргументов>])
7 Типы, допускающие неопределенные значения System.Nullable
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
9 Выполнение преобразований между типами Т? и Т
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; 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
13 Типы и классы Наследуемые методы класса object: 1. bool Equals(object obj) - проверяет эквивалентность текущего объекта и объекта, переданного в качестве аргумента; 2. System.Type GetType() - возвращает системный тип текущего объекта; 3. string ToString() - возвращает строку, связанную с объектом. Для арифметических типов возвращается значение, преобразованное в строку; 4. int GetHashCode() - служит как хэш-функция в соответствующих алгоритмах поиска по ключу при хранении данных в хэш-таблицах.
14 Типы и классы. Пример int x = 1; int v = new Int32(); v = 007; string s1 = "Agent"; s1 = s1 + v.ToString() +x.ToString();
15 Вопросы ? ? ?

