- •Простые типы данных.
- •Арифметические операции
- •Стандартные функции.
- •Программы с линейной структурой.
- •Операторы ввода
- •Задачи для самостоятельной работы
- •Условный оператор. Оператор многозначного ветвления
- •Оператор if
- •Оператор switch
- •Задачи для самостоятельной работы
- •Операторы повтора.
- •Оператор for
- •Циклы While
- •Задачи для самостоятельной работы
- •Функции и процедуры.
- •Список задач
- •Символьный тип данных.
- •Статические методы и свойства класса Char
- •Объявление строк. Конструкторы класса string
- •Операции над строками
- •Строковые константы
- •Статические свойства и методы класса String
- •Список задач
- •Массивы.
- •Динамические массивы
- •Многомерные массивы
- •Список задач
Простые типы данных.
С# является жестко типизированным языком. При его использовании вы должны объявлять тип каждого объекта, который создаете (например, целые числа, числа с плавающей точкой, строки, окна, кнопки, и т. д.), и компилятор поможет избежать ошибок, связанных с присвоением переменным значений только того типа, который им соответствует. Тип объекта указывает компилятору размер объекта (например, объект типа int занимает в памяти 4 байта) и его свойства (например, форма может быть видима и невидима, и т.д.). Подобно языкам C++ и Java, C# подразделяет типы на два вида: встроенные типы, которые определены в языке, и определяемые пользователем типы, которые выбирает программист.
С# также подразделяет типы на две другие категории: размерные и ссылочные. Основное различие между ними — это способ, которым их значения сохраняются в памяти. Размерные типы сохраняют свое фактическое значение в стеке. Ссылочные типы хранят в стеке лишь адрес объекта, а сам объект сохраняется в куче. Куча — основная память программ, доступ к которой осуществляется на много медленнее чем к стеку. Если вы работаете с очень большими объектами, то сохранение их в куче имеет много преимуществ.
Язык С# предоставляет программисту широкий спектр встроенных типов, которые соответствуют CLS (Common Language Specification) и отображаются на основные типы платформы .NET. Это гарантирует, что объекты, созданные на С#, могут успешно использоваться наряду с объектами, созданными на любом другом языке программирования, поддерживающем .NET CLS (например, VB.NET). Каждый тип имеет строго заданный для него размер, который не может изменяться. В отличие от языка C++, в С# тип int всегда занимает 4 байта, потому что отображается к Int32 в .NET CLS. Представленная ниже таблица содержит список всех встроенных типов, предлагаемых С#.
Краткое имя |
Тип |
Размер (байт) |
Диапазон (бит) |
byte |
Целое число без знака |
8 |
От 0 до 255 |
sbyte |
Целое число со знаком |
8 |
От -128 до 127 |
int |
Целое число со знаком |
32 |
От -2 147 483 648 до 2 147 483 647 |
uint |
Целое число без знака |
32 |
От 0 до 4 294 967 295 |
short |
Целое число со знаком |
16 |
От -32 768 до 32 767 |
ushort |
Целое число без знака |
16 |
От 0 до 65 535 |
long |
Целое число со знаком |
64 |
От -922 337 203 685 477 508 до 922 337 203 685 477 507 |
ulong |
Целое число без знака |
64 |
От 0 до 18 446 744 073 709 551 615 |
float |
Число одинарной точности с плавающей запятой |
32 |
От -3,402 823e38 до 3,402 823e38 |
double |
Число двойной точности с плавающей запятой |
64 |
От -1,797 693 134 862 32e308 до 1,797 693 134 862 32e308 |
char |
Одиночный знак Юникода |
16 |
Знаки Юникода в тексте |
bool |
Логический тип |
8 |
true или false |
object |
Базовый тип для всех остальных типов |
|
|
string |
Последовательность знаков |
|
|
decimal |
Точный дробный или целочисленный, который может представлять десятичные числа с 29 значащими цифрами. |
128 |
От ±1,0 Ч 10e−28 до ±7,9 Ч 10e28 |