Дата публикации статьи: 01.02.2004 13:09

Николай Белоусов
Изменения в VB.NET

Изменения в операторе Dim

В VB 6 приходилось объявлять тип каждой переменной

Dim i As Integer , j As Integer 

Теперь стало легче объявлять набор переменных одного и того же типа

Dim i , j As Integer 

В этой строке кода и х и у являются переменными типа Integer . Есть и другая новинка переменную теперь можно инициализировать прямо в операторе Dim .

Dim i As Integer = 5 

В Visual Basic 6.0 нам пришлось бы писать так

Dim i As Integer 
i = 5 

    Но инициализация выполняется только для операторов 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 (сортировка)

Array.Sort(arr) 
Поиск в отсортированном массиве

    Метод 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)