Книга: C# для профессионалов. Том II
Объявления
Разделы на этой странице:
Объявления
Очевидное синтаксическое различие между C# и VB в объявлении переменных состоит в том, что в C# тип данных предшествует, а не следует за именем переменной без использования других ключевых слов. Это дает объявлениям C# более компактный формат, чем их аналогам в VB.
Отметим, что идея объявления, состоящего только из типа, за которым следует имя, используется также и в других местах. Посмотрим снова на объявление метода в C#:
private void OnClickShowResults(object sender, System.EventArgs e);
Тип (void
) предшествует имени метода, не используя никаких других ключевых слов для указания того, что объявляется — это очевидно из контекста. То же самое справедливо для параметров. Типами параметров являются object
и System.EventArgs
. Тип object
в C#, кстати, играет роль, аналогичную Object
в VB,— он указывает то, для чего тип данных не был определен. Однако object
в C# значительно более мощный, чем Object в VB, и в C# object
заменяет тип данных Variant из VB. object
мы рассмотрим позднее. System.EventArgs
не будет рассматриваться подробно в этом приложении. Это базовый класс .NET и он не имеет аналога в VB.
В случае переменных синтаксис объявления, использованный в C#, позволяет комбинировать объявление с заданием начального значения переменной. В этом примере NumberInput
инициализируется достаточно сложным выражением, которое скоро будет рассмотрено подробнее. Но сначала два простых примера:
int x = 10; // int аналогично Long в VB
string Message = "Hello World"; // string аналогично String в VB
Необходимо также отметить некоторые моменты, связанные с переменными.
Никаких суффиксов в C#
VB позволяет присоединять суффиксы к переменным, чтобы указать их тип данных: $
для String
, %
для Int
, &
для Long
.
Dim Message$ ' будет string
Такой синтаксис не поддерживается в C#. Имена переменных могут содержать только буквы, цифры и символ подчеркивания, и необходимо всегда явно указывать тип данных.
Никаких значений по умолчанию для локальных переменных
В примере кода VB переменной NumberInput
по умолчанию будет присвоено значение 0 после ее объявления. Это на самом деле ненужная фата процессорного времени, так как этой переменной немедленно в следующей инструкции присваивается новое значение. C# немного больше знает о производительности и не беспокоится о задании каких-либо значений по умолчанию для локальных переменных при их объявлении. Вместо этого он требует, чтобы такие переменные всегда инициализировались в коде программы до их использования. Компилятор C# будет инициировать ошибку компиляции, если попытаться прочитать значение локальной переменной прежде, чем она будет задана.
- A8.3. Объявления структур и объединений
- Опережающие объявления
- Блок № 6. Объявления
- Заголовок объявления
- Лекция 15. Создание объявления в Яндекс.Директе
- 20.4.1.1. Сложные объявления
- A8. Объявления
- Стиль объявления скрытых компонент
- Запрет повторного объявления
- Правило повторного объявления типов
- Закрепленные объявления
- Когда не используются закрепленные объявления