Читаем C# 4.0 полное руководство - 2011 полностью

В приведенных выше примерах применения двумерного массива, по существу, создавался так называемыйпрямоугольный массив.Двумерный массив можно представить в виде таблицы, в которой длина каждой строки остается неизменной по всему массиву. Но в C# можно также создавать специальный тип двумерного массива, называемыйступенчатым массивом.Ступенчатый массив представляет собоймассив массивов,в котором длина каждого массива может быть разной. Следовательно, ступенчатый массив может быть использован для составления таблицы из строк разной длины.

Ступенчатые массивы объявляются с помощью ряда квадратных скобок, в которых указывается их размерность. Например, для объявления двумерного ступенчатого массива служит следующая общая форма:

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

гдеразмеробозначает число строк в массиве. Память для самих строк распределяется индивидуально, и поэтому длина строк может быть разной. Например, в приведенном ниже фрагменте кода объявляется ступенчатый массив j agged. Память сначала распределяется для его первого измерения автоматически, а затем для второго измерения вручную.

int[][] jagged = new int[3][]; jagged[0] = new int [4]; jagged[1] = new int[3]; jagged[2] = new int[5];

После выполнения этого фрагмента кода массив j agged выглядит так, как показано ниже.

Теперь нетрудно понять, почему такие массивы называются ступенчатыми! После создания ступенчатого массива доступ к его элементам осуществляется по индексу, указываемому в отдельных квадратных скобках. Например, в следующей строке кода элементу массива j agged, находящемуся на позиции с координатами (2,1), присваивается значение 10.

j agged[2] [1] = 10;

Обратите внимание на синтаксические отличия в доступе к элементу ступенчатого и прямоугольного массива.

В приведенном ниже примере программы демонстрируется создание двумерного ступенчатого массива.

// Продемонстрировать применение ступенчатых массивов.

using System;

class Jagged {

static void Main {

int[][] jagged = new int[3][]; jagged[0] = new int[4]; jagged[1] = new int[3]; jagged[2] = new int[5];

int ъ;

// Сохранить значения в первом массиве. for(i=0; i < 4; i++) jagged[0][i]=i;

// Сохранить значения во втором массиве. for(i=0; i < 3; i++) jagged[1][i] = i;

// Сохранить значения в третьем массиве. for(i=0; i < 5; i++) jagged[2][i] = i;

// Вывести значения из первого массива. for(i=0; i < 4; i++)

Console.Write(jagged[0] [i] + " ") ;

Console.WriteLine;

// Вывести значения из второго массива, for (i=0; i < 3; i++)

Console.Write(jagged[1][i] + " ");

Перейти на страницу:

Похожие книги

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT