Объявление переменных
В VB.NET, как и в VB6, переменные объявляются в процедурах и функциях при помощи ключевых слов Dim и As, а присваивание выполняется знаком =:
Dim foo As String foo = "bar"
Если вы не изменяли стандартную настройку VB.NET, переменные должны объявляться перед использованием (режим Option Explicit, впервые представленный в VB4, теперь используется по умолчанию). В VB.NET поддерживается инициализация переменных при объявлении. Пример:
Dim salesTax As Decimal = 0.0825D
Команда объявляет переменную с именем salesTax и присваивает ей начальное значение 0.0825 типа Decimal. При инициализации могут использоваться любые синтаксически правильные выражения VB.NET. Следующая команда присваивает переменной startAngle встроенное значение математической константы п, используя для этого константу класса System.
Math: Dim startAngle As Decimal – Math.PI
Если переменная не была инициализирована при объявлении, ей присваивается стандартное значение, соответствующее ее типу, – например, числовым переменным присваивается 0. При таком удобном синтаксисе, как в VB.NET, всегда лучше инициализировать переменную при объявлении, чем полагаться на значение по умолчанию. В следующем фрагменте используется оператор &, применявшийся в VB6 для конкатенации строк:
Sub Main() Dim salesTax As Decimal = 0.0825D Dim state As String = "California" Console.WriteLine("The sales tax in " & state & " is " & salesTax) Console. ReadLine() End Sub
Программа выводит следующий результат:
The sales tax in California is 0.0825
В отличие от предыдущих версий VB, объявление нескольких переменных в одной строке программы работает именно так, как подсказывает здравый смысл. Иначе говоря, следующая команда объявляет три переменные: i, j и k, относящиеся к типу Integer:
Dim i, j, k As Integer
При одновременном объявлении нескольких переменных инициализация выполняться не может, поэтому следующая строка недопустима:
Dim i, j, k As Integer = 1
Как и в прежних версиях VB, вместо указания типа с ключевым словом As может использоваться суффикс типа. Например:
Dim i%, myname$
Приведенная команда объявляет переменную i типа Integer (аналог Long в старом VB) и переменную myName типа String. Программистам VB.NET поступать подобным образом не рекомендуется.
Все программисты хорошо помнят, какие жаркие дискуссии проходили по поводу соглашений об именах переменных. Существует сложная система префиксов (так называемая венгерская запись), позволяющая с первого взгляда определить тип переменных. Согласно общим рекомендациям программирования для .NET Framework применение венгерской записи нежелательно. Мы будем следовать этим рекомендациям, и в книге префиксы встречаются очень редко.
Примечание
Команды семейства DefType (например, Deflnt) в VB.NET не поддерживаются.