Николай Белоусов
Изменения в VB.NET
Изменения в операторе Dim
В VB 6 приходилось объявлять тип каждой переменной
Dim i As Integer , j As Integer
Теперь стало легче объявлять набор переменных одного и того же типа
В этой строке кода и х и у являются переменными типа Integer . Есть и другая новинка переменную теперь можно инициализировать прямо в операторе Dim .
В Visual Basic 6.0 нам пришлось бы писать так
Но инициализация выполняется только для операторов Dim с одной переменной хотя новым переменным всегда присваиваются значения по умолчанию (например 0 для чисел), если требуется выполнить инициализацию нескольких переменных одной строкой, то тогда она выполняется следующим образом
Dim i As Integer = 0, j As Integer = 1
В Visual Basic . NET переменная типа integer может сохранять все значения переменной Long из Visual Basic 6.0. Новый тип, short , используемый вместо типа integer из VB 6, имеет диапазон значений от-32,768 до+32,767.
Тип данных Currency , который был в предыдущих версиях Visual Basic , уже не применяется. Вместо него, как предлагается в файлах справочника, можно использовать новый тип данных Decimal .
Тип данных Variant , который был способен хранить переменные любых других типов, теперь тоже не используется. Из-за того, что все основные типы данных являются производными от класса Object , его и объявили в Microsoft новым универсальным типом данных.
Visual Basic . NET все типы данных ведут себя как объекты1, имеющие c вои собственные свойства и методы. Если в редакторе вы введете имя переменной, а затем точку, то увидите все соответствующие свойства и методы.
Инициализация массива
В Visual Basic . NET появился новый способ инициализации массивов. Он заключается в том, чтобы выполнять инициализацию массива в операторе Dim , размещая значения массива в фигурных скобках.
Dim arr() As Integer = {1, 7, 3, 5, 4, 6, 2, 8}
Такую инициализацию массива можно применять только тогда, когда границы массива явно не указаны. При этой инициализации число элементов массива определяется количеством элементов в фигурных скобках. При этого кода получается массив arr (), содержащий восемь элементов. Элементом с индексом 0 является 1, с индексом 1 — 2 и так далее…
Сортировка массива и поиск в нем
Все массивы переменных создаются на основе класса Array , который встроен в систему . NET Framework и они наследуют от Array некоторые функции. Двумя самыми полезными из этих функций являются сортировка и поиск в массиве.
Для сортировки массива чисел или символьных строк используется функция Sort (сортировка)
Поиск в отсортированном массиве
Метод BinarySearch (двоичный поиск) возвращает индекс найденного элемента или отрицательное число, если элемент не найден.
Position = Array.BinarySearch(arr, 5)
Явные и неявные преобразования
Явные преобразования выполняются путем вызова функций преобразования, содержащихся в классе System.Convert , которые нужно использовать для явного преобразования из одного типа данных в другой. Явные преобразования дают возможность лучше контролировать процесс преобразования и уменьшают возможность неожиданной потери данных. Присвоив компиляторному параметру Option Strict значение On , можно заставить программу выполнять только явные преобразования. Чтобы задать это значение, щелкните в Solution Explorer правой кнопкой мыши на имени вашего проекта и выберите Properties . В разделе параметров Build задайте для Option Strict значение On . Можно также в начале модуля добавить строчку Option Strict On.
Впрочем, даже в таком случае некоторые типы преобразований все равно делаются автоматически, без вызова функции преобразования ;)
Неявные преобразования выполняются автоматически. Можно, например, объявить переменную типа Integer и присвоить ей значение 3.14, которое не является целым. Тогда это число должно быть автоматически преобразовано, то есть в данном случае округлено, а результат округления, равный 2, должен быть загружен в переменную типа Integer .
Преобразовывать любые типы данных из любого в любой удобней всего с помощью функции Convert .
Приращение значения переменной
Часто переменные используются в качестве счетчика, когда одной и той же переменной, периодически присваивается результат равенства i = i - 1.
В Visual Basic NET появились новые операторы, облегчающие приращение и уменьшение значений переменных Теперь благодаря оператору уменьшения и присвоения (-=) код становится еще лучше i -= 1.
Для остальных математических операций новые операторы работают также.
Примечание редактора
Изменения, коснувшиеся языка Visual Basic при "переходе" от VB6 к VB.NET подробно рассмотрены в соответствующем курсе.
1(от редактора). Чтобы убедиться в этом, попробуйте присвоить переменной типа String значение, например 256.ToString().
Dim strNumber As String
strNumber = 256.ToString()
MsgBox(strNumber)