C# 4.0 полное руководство - 2011
Шрифт:
Для foro чтобы воспользоваться массивом в программе, требуется двухэтапная процедура, поскольку в C# массивы реализованы в виде объектов. Во-первых, необходимо объявить переменную, которая может обращаться к массиву. И во-вторых, нужно создать экземпляр массива, используя оператор new. Так, для объявления одномерного массива обычно применяется следующая общая форма:
тип[] имя_мас сив а = new тип[размер] ;
где тип объявляет конкретный тип элемента
ПРИМЕЧАНИЕ
Если у вас имеется некоторый опыт программирования на С иди C++, обратите особое внимание на то, как объявляются массивы в С#. В частности, квадратные скобки следуют после названия типа, а не имени массива.
Обратимся к конкретному примеру. В приведенной ниже строке кода создается массив типа int, который составляется из десяти элементов и связывается с переменной ссылки на массив, именуемой sample.
int[] sample = new int[10];
В переменной sample хранится ссылка на область памяти, выделяемой для массива оператором new. Эта область памяти должна быть достаточно большой, чтобы в ней могли храниться десять элементов массива типа int.
Как и при создании экземпляра класса, приведенное выше объявление массива можно разделить на два отдельных оператора. Например:
int[] sample; sample = new int[10];
В данном случае переменная sample не ссылается на какой-то определенный физический объект, когда она создается в первом операторе. И лишь после выполнения второго оператора эта переменная ссылается на массив.
Доступ к отдельному элементу массива осуществляется по индексу: Индекс обозначает положение элемента в массиве. В языке C# индекс первого элемента всех массивов оказывается нулевым. В частности, массив sample состоит из 10 элементов с индексами от 0 до 9. Для индексирования массива достаточно указать номер требуемого элемента в квадратных скобках. Так, первый элемент массива sample обозначается как sample [ 0 ], а последний его элемент — как sample [ 9 ]. Ниже приведен пример программы, в которой заполняются все 10 элементов массива sample.
// Продемонстрировать одномерный массив.
using System;
class ArrayDemo {
static void Main {
int[] sample = new int[10];
4 int i;
for(i =0; i < 10; i = i+1) sample[i] = i;
for(i = 0; i < 10; i = i + 1)
Console.WriteLine("sample[" + i + "]: " + sample[i]);
}
}
При выполнении этой программы получается следующий результат.
sample[0]: 0 sample[1]: 1 sample[2]: 2
sample[3]: 3 r
sample[4]: 4
sample[5]: 5
sample[6]: 6
sample[7]: 7
sample[8]: 8
sample[9]: 9
Схематически
0
1
2
3
4
5
6
7
8
9
о
CN
CO
i/ч
40
r-
00
Os
lb
lb
JJ
QJ
lb
lb
lb
lb
lb
'cl
Q,
"cl
'E
TL
g.
В
В
В
В
й
В
в
В
В
03
03
03
03
03
03
cd
03
C/3
Брачный сезон. Сирота
Любовные романы:
любовно-фантастические романы
рейтинг книги
Адвокат империи
1. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
фэнтези
рейтинг книги
Лейб-хирург
2. Зауряд-врач
Фантастика:
альтернативная история
рейтинг книги
Измена. Верни мне мою жизнь
Любовные романы:
современные любовные романы
рейтинг книги
На границе империй. Том 5
5. Фортуна дама переменчивая
Фантастика:
боевая фантастика
попаданцы
рейтинг книги
Бастард Императора. Том 2
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
На изломе чувств
Любовные романы:
современные любовные романы
рейтинг книги
Буревестник. Трилогия
Фантастика:
боевая фантастика
рейтинг книги
Убивать чтобы жить 6
6. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
рейтинг книги
Приватная жизнь профессора механики
Проза:
современная проза
рейтинг книги

Башня Ласточки
6. Ведьмак
Фантастика:
фэнтези
рейтинг книги
Два мира. Том 1
Фантастика:
фэнтези
попаданцы
мистика
рейтинг книги
Отрок (XXI-XII)
Фантастика:
альтернативная история
рейтинг книги
