русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


РОЗДІЛ 6. МАСИВИ І РЯДКИ


Дата додавання: 2015-01-08; переглядів: 844.


Елементи масиву мають одне і те ж ім'я, а розрізняються порядковим номером (індексом). Це дозволяє компактно записувати множину операцій за допомогою циклів.

Масив відноситься до посилальних типів даних, тобто розташовується в динамічній області пам'яті, тому створення масиву починається з виділення пам'яті під його елементи. Елементами масиву можуть бути величини як значущих, так і посилальних типів (зокрема масиви). Масив значущих типів зберігає значення, масив посилальних типів - посилання на елементи. Всім елементам при створенні масиву привласнюються значення за умовчанням: нулі для значущих типів і null - для посилальних.

На рис. 6.1 представлений масив, що складається з п'яти елементів будь-якого значущого типу, наприклад int або double, а рис. 6.2 ілюструє організацію масиву з елементів посилального типу.

Ось, наприклад, як виглядають оператори створення масиву з 10 цілих чисел і масиву з 100 рядків:

 

int[] w = new int [10];

string[] z = new string [100];

 

Рис. 6.1. Прості змінні і масив з елементів значущого типу

 

 

Рис. 6.2. Масив з елементів посилального типу

 

 

У першому операторі описаний масив w типу int[]. Операція new виділяє пам'ять під 10 цілих елементів, і вони заповнюються нулями.

У другому операторі описаний масив z типу string[]. Операція new виділяє пам'ять під 100 посилань на рядки, і ці посилання заповнюються значенням null. Кількість елементів в масиві (розмірність) не є частиною його типу, ця кількість задається при виділенні пам'яті і не може бути змінена згодом. Розмірність може задаватися не тільки константою, але і виразом. Результат обчислення цього виразу має бути додатним, а його тип повинен мати неявне перетворення до int, uint, long або ulong.

Приклад розмірності масиву, заданої виразом:

 

short n = 10;

string[] z = new string[n + 1];

 

Елементи масиву нумеруються з нуля, тому максимальний номер елементу завжди на одиницю менше розмірності (наприклад, в описаному вище масиві w елементи мають індекси від 0 до 9). Для звернення до елементу масиву після імені масиву указується номер елементу в квадратних дужках, наприклад:

 

w[4] z[i]

 

З елементом масиву можна робити все, що допустимо для змінних того ж типу. При роботі з масивом автоматично виконується контроль виходу за його межі: якщо значення індексу виходить за межі масиву, генерується виключення IndexOutOfRangeException.

Масиви одного типу можна привласнювати один одному. При цьому відбувається привласнення посилань, а не елементів, як і для будь-якого іншого об'єкту посилального типу, наприклад:

 

int[] а = new int[10];

int[] b = а; // b і а указують на один і той же масив

 

Всі масиви в С# мають загальний базовий клас Array, визначений в просторі імен System. У нім є декілька корисних методів, що спрощують роботу з масивами

У С# існують три різновиди масивів: одновимірні, прямокутні і ступінчасті.

 


<== попередня лекція | наступна лекція ==>
Рекомендації по програмуванню | Одновимірні масиви


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн