Книга: C# для профессионалов. Том II
Ссылочные типы
Ссылочные типы
Ссылочные типы хранят ссылку на данные, которые существуют в куче. Только адреса памяти хранимых объектов сохраняются в стеке. Тип объекта, массивы, интерфейсы тип класса и делегаты являются ссылочными типами. Объекты, классы и отношения между ними не отличаются в Java и C#. Интерфейсы и их использование также похожи в обоих языках. Одно из основных различий, которое, вероятно, уже встречалось, состоит в том, что C# не имеет ключевых слов extends
и implements
. Оператор двоеточия (:
) заменяет оба ключевых слова Java, и, как было показано ранее, директива using
аналогична инструкции Java import
. Строки тоже используются одинаково в C# и Java. C# вводит также новый тип ссылочного типа называемого делегатом. Делегаты представляют безопасную, с точки зрения типов, версию указателей функций. Они будут рассмотрены позже в этой главе.
Массивы
C# поддерживает "неровные" массивы и добавляет многомерные массивы. Может сбить с толку то, что Java не делает между ними различий:
int [] х = new int[20]; // как в Java, только [] должны следовать
// за типом
int [,] у = new int[12, 3]; // то же самое, что int у[] [] = new
// int[12][3];
int[][] z = new int[5][]; // то же самое, что и int x[][] = new
// int [5][];
Примечание. Ключевое слово int[]
обозначает реальный тип данных, поэтому синтаксически оно записывается таким образом. Нельзя, как в Java, поместить двойные скобки перед или после переменной. Прежде чем перейти к дополнительным деталям о ссылочных типах и обсуждению таких концепции, как классы, давайте поговорим немного об операциях. Следующий раздел посвящен операторам.
- Файловые типы
- Типы данных
- Типы, характеризуемые значениями, ссылочные типы и оператор присваивания
- Размерные и ссылочные типы
- Типы, характеризуемые значениями, и ссылочные типы: заключительные замечания
- Типы значений в C#
- Типы, характеризуемые значениями и содержащие ссылочные типы
- Типы данных значений и ссылочные типы данных
- Типы, характеризуемые значениями, и ссылочные типы
- Типы значений и ссылочные типы