воскресенье, 10 октября 2010 г.

Массивы в Visual Basic

До этого мы уже с вам довольно хорошо изучили типы данных в VB.NET. Если вы что-то не помните – то прочитайте еще раз. В тех трех статьях (две – на счет основных типов и еще одна – описывающая беззнаковые типы) я не сказал одного – что все переменные являются объектами (то есть, если вы объявили переменную типа Long – то создается экземпляр соответствующего класса).

Но, все типы данных, которые мы с вами рассмотрели – являются простыми (могут хранить в себе только либо целые неотрицательные числа, либо просто все числа, либо один символ, либо наборы символов). А нам могут понадобиться и более сложные типы, например – чтобы сохранить несколько неразрывных последовательностей значений. Для подобных целей удобно использовать массивы.

Вообще, массив – это упорядоченный набор данных одного типа. Номер элемента называется индексом. Индекс первого элемента всегда 0 (так что не путайтесь, а то я, по началу, допускал ошибки).

Объявить массив можно несколькими способами:

        Dim mas1(9) As Integer           ' Одномерный массив, содержащий 10 элементов
        Dim mas2(9, 9) As Long           ' Двухмерный массив размером 10*10 элементов
        Dim mas3() As Byte               ' Динамический массив

Смотря какой тип массива вам надо – такой и объявляйте. Массив можно инициализировать (присваивать ему начальные значения) сразу же после объявления (только работает это лишь с динамическими массивами):

 Dim mas1() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
        Dim mas2(,) As Byte = {{1, 1}, {1, 2}, {1, 3}}

Пару слов о том, что такое динамический массив: это такой массив, в котором не указывается его размерность. То есть, во всех других видах массивов мы явно указывали, что они будут состоять из, например, десяти элементов. Это, с одной стороны – и хорошо, мы четко знаем, сколько и чего у нас может там храниться. Но, с другой стороны – компьютер нам сразу же выделяет память на весь массив. Предположим, что у нас имеется массив из тысячи элементов типа данных
Decimal (16 байт). А записан в массив – только один элемент. Но память размером в 16 000 байт (грубо говоря – 15 с половиной мегабайт) – выделена и никем не занята. Это не очень хорошо. Поэтому, в таких задачах и нужно использовать динамические массивы, которые выделят столько памяти, сколько вам в реальности надо.



Сегодня будет обзорная статья, связанная с массивами. Я их не часто (пока) использую, поэтому еще от меня скрылся один момент – как инициализировать не динамические массивы. Я это делаю по старинке, сам:

        Dim Ind(9) As Integer       
        Dim i As Integer
        For i = 0 To 9 Step 1
            Ind(i) = i + 1
        Next
       
Наверно, есть и какой-то другой (более простой) способ инициализации. Как только найду – сразу же расскажу. А пока – буду пользоваться этим. В следующей статье мы познакомимся с теми классами, которые можно использовать при работе с массивами, а также – познакомимся и со свойствами и методами этих классов. В общем – вовсю продолжаем изучать
Visual Basic.NET.



Комментариев нет:

Отправить комментарий