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

Console.WriteLine ;

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

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

Console.WriteLine ;

}

}

Выполнение этой программы приводит к следующему результату.

0 12 3

0 12

0 12 3 4

Ступенчатые массивы находят полезное применение не во всех, а лишь в некоторых случаях. Так, если требуется очень длинный двумерный массив, который заполняется не полностью, т.е. такой массив, в котором используются не все, а лишь отдельные его элементы, то для этой цели идеально подходит ступенчатый массив.

И последнее замечание: ступенчатые массивы представляют собой массивы массивов, и поэтому они не обязательно должны состоять из одномерных массивов. Например, в приведенной ниже строке кода создается массив двумерных массивов.

int[] [,] j agged = new int [ 3] [,];

В следующей строке кода элементу массива j agged [ 0 ] присваивается ссылка на массив размерами 4><2.

jagged[0] = new int [4, 2];

А в приведенной ниже строке кода элементу массива j agged [ 0 ] [1,0] присваивается значение переменной i.

jagged[0][1,0] = i;

Присваивание ссылок на массивы

Присваивание значения одной переменной ссылки на массив другой переменной, по существу, означает, что обе переменные ссылаются на один и тот же массив,

и в этом отношении массивы ничем не отличаются от любых других объектов. Такое присваивание не приводит ни к созданию копии массива, ни к копированию содержимого одного массива в другой. В качестве примера рассмотрим следующую программу.

// Присваивание ссылок на массивы.

using System;

class AssignARef { static void Main { int i;

int[] numsl = new int [10]; int[] nums2 = new int [10];

for(i=0; i < 10; i++) numsl[i] = i;

for(i=0; i < 10; i++) nums2[i] = -i;

Console.Write("Содержимое массива numsl: "); for(i=0; i < 10; i++)

Console.Write(numsl[i] + " ");

Console.WriteLine ;

Console.Write("Содержимое массива nums2: "); for(i=0; i < 10; i++)

Console.Write(nums2[i] + " ") ;

Console.WriteLine ;

nums2 = numsl; // теперь nums2 ссылается на numsl

Console.Write("Содержимое массива nums2\n" + "после присваивания: "); for(i=0; i < 10; i++)

Console.Write(nums2[i] + " ") ;

Console.WriteLine ;

// Далее оперировать массивом numsl посредством // переменной ссылки на массив nums2. nums2[3] = 99;

Console.Write("Содержимое массива numsl после изменения\п" + "посредством переменной nums2: "); for (i=0; i < 10; i++)

Console.Write(numsl[i] + " ") ;

Console.WriteLine ;

}

}

Выполнение этой    программы приводит к следующему    результату.

Содержимое массива    numsl:    0123456789

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

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

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