Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПргЯВУ_ЛК_СтефановаИА.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
4.41 Mб
Скачать

Лекция 13

20.0. Массивы в Windows Forms Application

Массивы – это структура данных, представляющая собой набор переменных одинакового типа, имеющих общее имя.

Каждый элемент массива однозначно определяется именем и индексом (номером элемента в массиве). Индексы массива принадлежат целочисленному типу.

Все элементы массива имеют одинаковый тип.

Используются при работе с таблицами и списками.

Массив может быть:

- одномерным,

- двумерным /многомерным.

Массивы различают:

  • статические и

  • динамические.

В статическом массиве размеры массива (верхний индекс элементов) задаются при объявлении массива (размеры известны до компиляции программы).

Формат объявления одномерного массива в C#:

тип[ ] ИмяМассива = new тип [размер];

Формат объявления двумерного массива в C#:

тип [ , ] ИмяМассива = new тип [количество строк, количество столбцов];

Если массив объявлен с инициализацией глобально в программе, то начальные значения элементов массива будут использоваться во всех процедурах и обработчиках событий. Пример объявления массива:

// using – раздел объявления модулей;

using System.Windows.Forms;

namespace WindowsFormsApplication1 //пространство имен приложения

{

public partial class Form1 : Form // объявление класса

{

public Form1() // объявление формы1

{

InitializeComponent(); // объявление компонент на форме

}

// глобальное объявление массивов

int[] А = new int[5]; // одномерный массив А из 5 целых чисел

double[,] M = new double[2, 3]; // двумерный массив M[2х3]

string[ ] Team = {"Zenith", "Dynamo", "Sparta", "Rotor", "CSK"}; //строковый

double[] F = { 1.5, 2.1, 3.65, 4.7, 5.14, 6.36 }; // F[6] из 6 вещественных чисел

int[,] D = { { 0, 2, 4, 6 }, { 2, 9, 6, 3 }, { 4, 7, 5, 8 }, { 1, 6, 5, 7 } }; // массив M [4х4]

}

}

// обработчики событий, в которых будут определены глобально объявленные массивы

Элементы массива, объявленного глобально можно инициализировать в процедуре обработчика события, во время работы программы, например, для массива A из 5 эл.:

private void button1_Click(object sender, EventArgs e)

{

// инициализация элементов массива A, объявленного глобально

A[1] = 5; A[2] = 6; A[3] = 0; A[4] = -5; A[5] = -10;

}

Локальный массив объявляется в процедуре обработчика события, и тогда его как правило инициализируют во время исполнения этого события. Значения элементов, как и сам массив известен только в этой процедуре. При необходимости работы с массивом его надо заново объявлять в другом обработчике события и производить его инициализацию. Например:

private void button2_Click(object sender, EventArgs e)

{

int[] B = new int[10]; // массив B объявлен локально

for (int k = 0; k <= 4; k++) // с инициализацией элементов

B[k] = k;

}

При обращении к элементам массива заданного локально в другом обработчике событий, будет выдано сообщение об ошибке:

В динамическом массиве при объявлении указывается имя массива, тип его элементов, а размер массива определяется при выполнении программы и задается некой переменной. Значение переменной можно ввести в процессе диалога программы с пользователем или используя свойство length, содержащее количество элементов, которое может хранить массив. Например:

private void button1_Click(object sender, EventArgs e)

{

int size = int.Parse(textBox1.Text); //Задание верхней границы массива

int [] H = new int[size];

………

}