Переменные и присваивание
Имена переменных в VB.NET имеют длину до 255 символов и обычно начинаются с буквы в кодировке Unicode (за дополнительной информацией о Unicode обращайтесь на сайт www.unicode.org), хотя также допускается символ подчеркивания. Далее следует произвольная комбинация букв, цифр и символов подчеркивания. Все символы имени являются значимыми, но регистр символов игнорируется (как вообще в VB.NET); считается, что firstBase и firstbase – одна и та же переменная. Присваивание выполняется при помощи знака =, как и в более ранних версиях VB:
theYear = 2001
Примечание
В .NET Framework используются новые правила присваивания имен переменным, заметно изменившиеся по сравнению с VB6. В соответствии рекомендациями, приведенными в MSDN, применять венгерскую запись нежелательно, а значимые имена переменных (то есть не состоящие из одной буквы, как i или t) должны оформляться в альтернативной схеме выбора регистра. В прежних версиях VB обычно использовалась схема Pascal.
Имена переменных не могут совпадать с последовательностями, зарезервированными VB.NET (список для текущей версии приведен в табл. 3.1), однако это ограничение можно обойти, заключив имя переменной в квадратные скобки. Например, переменная не может называться Loop, а имя [Loop] подойдет – хотя делать это не рекомендуется. Зарезервированные слова внутри имен переменных допустимы (скажем, loopit – вполне нормальное имя). При попытке использования ключевого слова в качестве имени переменной VB.NET подчеркивает его и информирует об ошибке (при помощи экранной подсказки).
Таблица 3.1. Ключевые слова текущей версии VB.NET.
| AddHandler | AddressOf | Alias | And | Ansi |
| As | Assembly | Auto | Binary | BitAnd |
| BitNot | BitOr | BitXor | Boolean | ByRef |
| Byte | ByVal | Call | Case | Catch |
| CBool | CByte | CChar | CDate | CDec |
| CDbl | Char | CInt | Class | CLng |
| CObj | Compare | Const | CShort | CSng |
| CStr | Ctype | Date | Decimal | Declare |
| Default | Delegate | Dim | Do | Double |
| Each | Else | Elself | End | Enum |
| Erase | Error | Event | Exit | Explicit |
| ExternalSource | False | Finally | For | Friend |
| Function | Get | GetType | GoTo | Handles |
| If | Implements | Imports | In | Inherits |
| Integer | Interface | Is | Lib | Like |
| Long | Loop | Me | Mod | Module |
| Mustlnherit | MustOverride | MyBase | MyClass | Namespace |
| Next | New | Not | Nothing | Notlnheritable |
| NotOverridable | Object | Off | On | Option |
| Optional | Or | Overloads | Overridable | Overides |
| Pa ram Array | Preserve | Private | Property | Protected |
| Public | RaiseEvent | Readonly | Re Dim | REM |
| RemoveHandler | Resume | Return | Select | Set |
| Shadows | Shared | Short | Single | Static |
| Step | Stop | Strict | String | Structure |
| Sub | SyncLock | Text | Then | Throw |
| To | True | Try | TypeOf | Unicode |
| Until | When | While | With | With Events |
| WriteOnly | Xor |
