Понедельник, 2025-06-16

Professor VB - примеры на VB.net и C#
Меню сайта
Вход на сайт
Категории раздела
Уроки VB.net [25]
VB.net и математика [13]
Random VB [4]
VB.net - разное [7]
VB.net - Примеры программ [2]
Главная » Статьи » VB.net » Уроки VB.net

VB.net - Многомерные массивы.

VB.net - Многомерные массивы.



В этой статье я подробно расскажу о многомерных массивах.

Конечно, их используют не так часто как одномерные, но в них нет ни чего сложного.

Объявление

Использование

Определение размера

ПРИМЕР 1

ПРИМЕР 2

Преимущества и недостатки многомерных массивов

 

Объявление

Начнем с объявления.

Для объявления одномерных массивов используют следующие варианты.


    Dim massiv0()                          ' не определенный массив

    Dim massiv1(n)                        ' массив размера n, содержит элементы от 0 до n-1

    Dim massiv2()={0,1,2,3}           ' массив чисел, размер массива 4

    Dim massiv3()={"0","1","2","3"} ' массив строк, размер массива 4

    



Для определения многомерных массивов используется похожая конструкция:


    Dim mass0(,)
    Dim mass0(n,m)

    



    
Многомерный массив представляет из себя массив массивов. То есть каждый элемент является переменной типа массив.
 
Массивы могут иметь как одинаковый размер, так и произвольный.

 


   
    'задаем 2 мерный масссив размера 3 с массивами одинакового размера

    Dim mass() = {({"00", "01"}), ({"10", "11"}), ({"20", "21"})}
    
    'задаем многомерный масссив размера 3 с массивами различной длины    
    
    Dim mass2() = {({"дом", "дворец", "хата", "халупа"}), _
                   ({"автомобиль", "машина", "таратайка"}), _
                   ({"деньги", "бабки", "лаве", "фантики", "баксы"})}



После определения массива, его можно использовать.

 

Использование

Для вывода элемента массива мы пишем имя массива и индекс элемента.



MsgBox(mass(0))


Похожим образом, для вывода конкретного значения многомерного массива указываем название массива, индекс внутреннего массива и индекс конкретного значения.
 


              
'вывод элемент массива
        MsgBox(mass(0)(1))

 


 

Определение размера

      
Таким же образом поступаем и с определением размера массива.
 


       
        'размер массива - количество членов массива
        MsgBox(mass.Length)


Для многомерного массива это означает наличие 3 внутренних массивов (начиная с нуля), и для того что бы узнать их размер, тк он может быть разным у каждого, пишем следующие.

 


 
        'размер массива - размерность определенного члена массива
        MsgBox(mass(0).Length) '2


        
ПРИМЕР 1

Небольшой пример использования многомерных массивов.

Имеется 3 картинки, в массиве задаем ссылки на ресурсы.

В многомерный массив вводим свойства этих изображений, для каждой картинки свои.

На форму поместим 4 пикчербокса - в первые три будут выводиться определенные картинки, а в четвертый случайная.

Также добавим 4 ярлыка - соответсвующие подписи к рисункам.

      


 
 Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

'массив с сылками на картинки
        Dim massRes() = {My.Resources.kot, My.Resources.pl, My.Resources.list}

'многомерный массив свойств

        Dim mass2() = {({"кот", "кошка", "белый", "пушистый"}), _
                       ({"плащ", "желтый"}), _
                       ({"лист", "клен", "оранжевый"})}

        Randomize()

        Label1.Text = mass2(0)(Int(Rnd() * mass2(0).Length))
        Label2.Text = mass2(1)(Int(Rnd() * mass2(1).Length))
        Label3.Text = mass2(2)(Int(Rnd() * mass2(2).Length))


        PictureBox1.Image = massRes(0)
        PictureBox2.Image = massRes(1)
        PictureBox3.Image = massRes(2)

        'случайный элемент массива
        Dim x = Int(Rnd() * mass2.Length)
        Label4.Text = mass2(x)(Int(Rnd() * mass2(x).Length))
        PictureBox4.Image = massRes(x)

    End Sub

       


Под каждой картинкой появляется только та подпись, которая ей соответствует.

 

ПРИМЕР 2

Многомерные массивы могут содержать массивы с различными типами данных.

Создадим его:

Он будет содержать массивы с такой структурой: ссылка на картинку из ресурсов, число и 2 строковые переменные.


 Dim mass2() = {({My.Resources.kot, 0, "кот", "белый", "пушистый"}), _
                       ({My.Resources.pl, 1, "плащ", "желтый", ""}), _
                       ({My.Resources.list, 2, "лист", "клен", "оранжевый"})}


В пикчербокс выводим изображение, а в соответствующие ярлыки - число и строки


Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Dim mass2() = {({My.Resources.kot, 0, "кот", "белый", "пушистый"}), _
                       ({My.Resources.pl, 1, "плащ", "желтый", ""}), _
                       ({My.Resources.list, 2, "лист", "клен", "оранжевый"})}

        PictureBox1.Image = mass2(a)(0)
        Label1.Text = mass2(a)(1)
        Label2.Text = mass2(a)(2)
        Label3.Text = mass2(a)(3)
        Label4.Text = mass2(a)(4)

        If a = mass2.Length - 1 Then
            a = 0
        Else
            a += 1
        End If

    End Sub

 


        
Теперь по нажатию на кнопку изменится и картинка и описание.

Получилась небольшая база данных.

 

Преимущества и недостатки многомерных массивов


Преимущества многомерных массивов как и у одномерных

+ адресный доступ к записям
+ время доступа не зависит от длины массива
+ отсутствие надобности в дополнительной памяти.

Недостатки.
Кроме недостатков одномерных массивов, а именно

- для статического массива — отсутствие динамики
- невозможность удаления или добавления элемента без сдвига других
- при работе с массивом необходимы дополнительные средств контроля, например, для избежания угрозы выхода за границы массива

добавляется большее потребления памяти:

Общее количество элементов данного массива определится как
mas(2,3) as int
КоличествоСтрок * КоличествоСтолбцов = 2 * 3 = 6.
Количество байт памяти, требуемых для размещения массива, определится как
КоличествоЭлементов * РазмерЭлемента = 6 * 4 = 24 байта.

На сегодня это все.

 

Смотреть видео

В начало

 

 



 

Категория: Уроки VB.net | Добавил: ProfessorVB (2016-10-03)
Просмотров: 4349 | Теги: многомерные, массивы, Vb.net, недостатки, использование, размер | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
Облако тегов
Поиск
Друзья сайта
  • www.youtube.com

  • vk.com/professorvb

  • Партнерка AIR

  • Партнерка VSP Group
  • Поделись с друзьям
    Теги
    урок C# си шарп видео hello world MenuStrip Генератор имен Switch дроби решебник Алгебра системы уравнения геометрия Vb.net генератор уроки математика программа условия Math массив элементов видеоуроки добавление записи в xml анекдот поиск создать XML удалить из xml калькулятор НОД нок время дата Деструкторы конструкторы тест сокращение дробей десятичные дроби тренажер английский развитие мнемоника иностранные слова random рандом professorvb OpenFileDialog Timer mindgames цикл словарь база пароль слова cos sin комплексные числа вирус массив классы массивы многомерные Break Continue do for forEach While Обработка событий rgb задать цвет XML база данных xml количество элементов xml поиск значений xml редактирование xml создание soft AntiCenz fri-gate google pirat proxy tor запрещенные сайты Open save RichTextBox TopMost DateTimePicker календарь количество дней между датами перемешивание массива Анаграммы Меморина Ребусы Рифмоплет скорочтение Сравнение дробей использование
    Copyright ProfessorVB © 2025