 
        
        - •Тема 2.1.1 Синтаксис языка c#. Данные и операции над ними
- •Тема 2.1.1 Синтаксис языка c#. Данные и операции над ними 1
- •Какие типы данных присутствуют в c#?
- •Int[] mass;// объявление массива целых чисел mass
- •Какие типы данных встроены в c#?
- •Почему в c# типы данных являются одновременно и классами?
- •При каких условиях переменным одного типа можно присваивать значения другого типа?
- •Как в c# автоматизируется преобразование типов?
- •Как в c# объявляются и инициируются переменные?
- •Где в c# объявляются переменные?
- •Каково поведение локальных переменных в c#?
- •Как в c# объявляются константы?
- •Какие математические функции и константы встроены в c#?
- •Как в c# генерировать случайные числа?
- •Выводы:
	 
		
Тема 2.1.1 Синтаксис языка c#. Данные и операции над ними
Тема 2.1.1 Синтаксис языка c#. Данные и операции над ними 1
Какие типы данных присутствуют в C#? 1
Какие типы данных встроены в C#? 2
Почему в C# типы данных являются одновременно и классами? 3
При каких условиях переменным одного типа можно присваивать значения другого типа? 3
Как в C# автоматизируется преобразование типов? 5
Как в C# объявляются и инициируются переменные? 5
Где в C# объявляются переменные? 5
Каково поведение локальных переменных в C#? 5
Как в C# объявляются константы? 6
Чем операции и выражения в C# отличаются от операций и выражений в С++? 6
Какие математические функции и константы встроены в C#? 7
Как в C# генерировать случайные числа? 8
Чем операторы C# отличаются от операторов С++? 8
На самостоятельное изучение: 9
Материал взят из файла «Лекции по C# В_А_Биллинг.pdf», Глава 3. Лекция: Система типов языка С#.
Какие типы данных присутствуют в c#?
1. Типы-значения (value), или значимые типы.
2. Ссылочные (reference).
3. Указатели (pointer).
4. Тип void.
Эта классификация основана на том, где и как хранятся значения типов.
 
В отдельную категорию выделены указатели, что подчеркивает их особую роль в языке. Указатели имеют ограниченную область действия и могут использоваться только в небезопасных блоках, помеченных как unsafe.
Особый статус имеет и тип void, указывающий на отсутствие какого-либо значения.
Переменные значимых типов в C# могут объявляться и инициироваться обычным для С++ способом. Например: int i=0;
К ссылочным типам относятся: массивы, строки и классы. При определении переменных этих типов используется оператор new или операция присваивания адреса от уже существующей переменной.
Массивы рассматриваются как динамические переменные, их размер может определяться на этапе вычислений, а не в момент трансляции. Например:
Int[] mass;// объявление массива целых чисел mass
mass=new int[10];// определение массива из 10 целых чисел
Строки также рассматриваются как динамические переменные, длина которых может изменяться. Например:
string s1; // объявление пустой строки s1
s1=”Привет!”; // строке s1 определяется размер 7 символов и значение «Привет!»
Структуры представляют частный случай класса. Определив свой класс как структуру, программист получает возможность отнести класс к значимым типам, что иногда бывает крайне полезно, так как требует меньших затрат памяти и времени на обработку.
Какие типы данных встроены в c#?
В основном, это такие типы, которые поддерживаются платформой .NET.
Вот перечень и краткое описание встроенных типов:
| Логический тип | |||
| Имя типа | Системный тип | Значения | Размер | 
| Bool | System.Boolean | true, false | 8 бит | 
| Арифметические целочисленные типы | |||
| Имя типа | Системный тип | Диапазон | Размер | 
| Sbyte | System.SByte | -128 — 127 | Знаковое, 8 Бит | 
| Byte | System.Byte | 0 — 255 | Беззнаковое, 8 Бит | 
| Short | System.Short | -32768 —32767 | Знаковое, 16 Бит | 
| Ushort | System.UShort | 0 — 65535 | Беззнаковое, 16 Бит | 
| Int | System.Int32 | ≈(-2*10^9 — 2*10^9) | Знаковое, 32 Бит | 
| Uint | System.UInt32 | ≈(0 — 4*10^9) | Беззнаковое, 32 Бит | 
| Long | System.Int64 | ≈(-9*10^18 — 9*10^18) | Знаковое, 64 Бит | 
| Ulong | System.UInt64 | ≈(0— 18*10^18) | Беззнаковое, 64 Бит | 
| Арифметический тип с плавающей точкой | |||
| Имя типа | Системный тип | Диапазон | Точность | 
| Float | System.Single | +1.5*10^-45 - +3.4*10^38 | 7 цифр | 
| Double | System.Double | +5.0*10^-324 - +1.7*10^308 | 15-16 цифр | 
| Арифметический тип с фиксированной точкой | |||
| Имя типа | Системный тип | Диапазон | Точность | 
| Decimal | System.Decimal | +1.0*10^-28 - +7.9*10^28 | 28-29 значащих цифр | 
| Символьные типы | |||
| Имя типа | Системный тип | Диапазон | Точность | 
| Char | System.Char | U+0000 - U+ffff | 16 бит Unicode символ | 
| String | System.String | Строка из символов Unicode | |
| Объектный тип | |||
| Имя типа | Системный тип | Примечание | |
| Object | System.Object | Прародитель всех встроенных и пользовательских типов | |
Система встроенных типов языка C# не только содержит практически все встроенные типы (за исключением long double) стандарта языка C++, но и перекрывает его разумным образом. В частности тип string является встроенным в язык, что вполне естественно.
