Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Работа с многомерными массивами
Работа с многомерными массивами
Вдобавок к одномерным массивам, которые мы рассматривали до сих пор, в C# поддерживаются два варианта многомерных массивов. Первый из них – это прямоугольный массив, т.е. многомерный массив, в котором каждая строка оказывается одной и той же длины. Чтобы объявить и заполнить многомерный прямоугольный массив, действуйте так, как показано ниже.
static void Main(string[] args) {
…
// Прямоугольный массив MD .
int[,] myMatrix;
myMatrix = new int[6,6];
// Заполнение массива (6 * 6).
for (int i = 0; i ‹ 6; i++) for (int j = 0; j ‹ 6; j++) myMatrix[i, j] = i * j;
// Печать массива (6 * 6).
for (int i = 0; i ‹ 6; i++) {
for(int j = 0; j ‹ 6; j++) Console.Write(myMatrix[i, j] + "t");
Console.WriteLine();
}
…
}
На рис. 3.22 показан соответствующий вывод (обратите внимание на прямоугольный вид массива).
Рис. 3.22. Многомерный массив
Второй тип многомерных массивов – это невыровненный массив. Как следует из самого названия, такой массив содержит некоторый набор массивов, каждый из которых может иметь свой верхний предел для индексов. Например:
static void Main(string[] args) {
…
// Невыровненный массив MD (т.е. массив массивов).
// Здесь мы имеем массив из 5 разных массивов.
int[][] myJagArray = new int[5][];
// Создание невыровненного массива.
for (int i = 0; i ‹ myJagArray.Length; i++) myJagArray[i] = new int[i +7];
// Печать каждой строки (не забывайте о том, что
// по умолчанию все элементы будут равны нулю!)
for (int i = 0; i ‹ 5; i++) {
Console.Write("Длина строки {0} равна {1}:t", i, myJagArray[i].Length);
for (int j = 0; j ‹ myJagArray[i].Length; j++) Console.Write(myJagArray[i][j] + " ");
Console.WriteLine();
}
}
На рис. 3.23 показан соответствующий вывод (обратите, что здесь массив имеет "неровный край").
Рис. 3.23. Невыровненный массив
Теперь когда вы знаете, как строить и заполнять массивы в C#, обратим внимание на базовый класс любого массива: System.Array.
- Типы массивов .NET
- Практическая работа 53. Запуск Access. Работа с объектами базы данных
- Лекция 15. Работа с базами данных
- Работа с ресурсами локальной сети
- Эффективная работа с временными файлами сортировки
- Ускоренная работа с индексами
- HR-брендинг: Работа с поколением Y, новые инструменты для коммуникации, развитие корпоративной культуры и еще 9 эффектив...
- Безопасная работа с внешними таблицами
- Работа со строками
- Новые функции API для работы с Blob и массивами
- 9.2. Работа прокси-сервера
- 3. Заработок для фотографов: заработать на фото – сайты фотобанков