Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Desktop_1 / ЛК / Лекция 3ЭлЯзыкаC#.doc
Скачиваний:
42
Добавлен:
10.06.2015
Размер:
242.69 Кб
Скачать

10

Лекция 3

6.0. Типы данных

Язык C# является строго типизированным языком. Каждая переменная и константа имеет тип, как и выражение, результатом вычисления которого является значение.

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

Тип определяет для элемента программы:

  • объем памяти для размещения. По типу компилятор определяет размер памяти для размещения значений элемента,

  • место для хранения переменной типа,

  • минимальное и максимальное значения, которые могут принимать данные,

  • разрешенные операции.

Типы могут быть:

  • стандартные (не требуют объявления),

  • пользователя (тип пользователя должен быть объявлен дополнительно).

Типы Т1 и Т2 идентичны, если:

– имеют один и тот же идентификатор типа,

– один объявлен эквивалентным другому (один из них может быть преобразован к другому). Например, целый в вещественный, символьный в строковый.

Система типов языка C# включает следующие категории:

  • Типы-значения, // в переменных типа значения хранятся данные

  • Ссылочные типы, // в переменных хранятся ссылки на фактические данные

  • Типы указателей. // используются только в небезопасном режиме

Существует возможность преобразовать тип значения в ссылочный тип и обратно в тип значения с помощью упаковки-преобразования и распаковки-преобразования.

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

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

Все типы значений являются неявными производными от System.ValueType .

Типы значений состоят из двух основных категорий:

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

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

По умолчанию первому элементу задан номер 0, а последующих – увеличивается на 1. Например: enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};

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

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

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

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

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

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

  • Класс class.

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

  • Делегат delegate.

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

  • Объект object.

  • Строка string.

Классы

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

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

Классы объявляются с помощью ключевого слова class. Класс может содержать:

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

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

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

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

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

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

Соседние файлы в папке ЛК