Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_пособие_ПЯВУ_C#+КР.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.87 Mб
Скачать

5.7.1. Типы значений

Переменные, основанные на типах значений, содержат непосредственно значения. При присвоении переменной одного типа значений другому создается копия присваиваемого значения. В этом заключается отличие от переменных ссылочного типа, при присвоении которых копируются ссылки на объекты, но не сами объекты.

Все типы значений являются неявными производными от System.ValueType. Типы значений состоят из двух основных категорий:

  • Структура struck. Это тип значения, который используется для объявления небольших групп связанных переменных, например координат точки.

  • Перечисление enum. Оно состоит из набора именованных констант, который называется списком перечислителя.

По умолчанию первому элементу задан номер 0, а последующих – увеличивается на 1.

Например: enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};

Структуры делятся на следующие категории:

  • Числовые типы. Они могут быть целочисленные, вещественные – с плавающей запятой, десятичные.

  • Логический bool. Ключевое слово bool используется при объявлении переменных для хранения логических значений, true и false.

  • Пользовательские структуры.

5.7.2. Ссылочные типы

Переменные ссылочных типов, называемые объектами, они сохраняют ссылки на фактические данные. Для объявления ссылочных типов используют ключевые слова:

  • Класс class.

  • Интерфейс interface.

  • Делегат delegate.

  • Динамический dynamic.

  • Объект object.

  • Строка string.

Тип class

Класс – совокупность объектов с одинаковыми свойствами. Определив класс, его можно использовать, загрузив в память. Класс, загруженный в память, называется объектом или экземпляром класса. Экземпляр класса создается с помощью ключевого слова new. Каждый экземпляр класса занимает отдельную область памяти.

Подобно тому, как на основе одного чертежа можно построить несколько зданий, можно создать любое количество объектов одного класса. Часто используют массивы или списки, содержащие множество объектов одного класса с независимыми значениями. Классы объявляются с помощью ключевого слова class. Класс может содержать:

  • Методы; // подпрограммы для обработки данных объекта какого-то класса

  • Свойства; // характеристики объекта, его параметры

  • Поля; // предназначены для хранения информации об объекте

  • События; // сигналы, формируемые пользователем, ОС, программой

  • Делегаты; // способ передачи метода

  • Вложенные классы.

Тип object

Переменным типа object можно назначать значения любых типов. Когда переменная типа значения преобразуется в объект, говорят, что она упаковывается. Когда переменная типа object преобразуется в тип значения, говорят, что она распаковывается.

Тип string

Тип string представляет последовательность из нуля или более символов в кодировке Юникод. Строка C# представляет собой группу одного или нескольких символов, заключенных в двойные кавычки и объявленных с помощью ключевого слова string,

string Приветствие = "Hello, Friend!";

Строковые объекты являются неизменяемыми, после создания их нельзя изменить.

5.7.3. Задание типов в объявлениях переменных

При объявлении переменной или константы в программе необходимо задать ее тип. Синтаксис объявления:

тип Имя = Значение;

Примеры объявления некоторых переменных:

float Вес = 400.2; // переменная Вес типа float (с плавающей зпт.)

string Имя = ''ЭтоЯ'' ; // переменная Имя типа string

char Буква = 'A'; // переменная Буква символ

int[ ] Массив = { 0, 1, 2, 3, 4, 5 }; // переменная Массив целых чисел

После объявления переменной она не может быть повторно объявлена с новым типом, и ей нельзя присвоить значение, несовместимое с ее объявленным типом.

Например, нельзя объявить переменную типа int и затем присвоить ей логическое значение true.

Однако значения могут быть преобразованы в другие типы, например, при их присвоении новым переменным или при передаче в качестве аргументов метода.

Например, число -120 (тип sbyte) в число -00000000120 (тип short).

Преобразование типов, которое не приводит к потере данных и автоматически выполняется компилятором, называется неявным.

Для преобразования, которое может привести к потере данных, необходимо в исходном коде указать тип преобразования. Такое преобразование называется явным. Оно может привести к ошибке.

Например, число 0.8124582613425765 (тип double) в число 0.81245826 (тип float).