Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 56

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 50 51 52 53 54 55 < 56 > 57 58 59 60 61 62 .. 320 >> Следующая

// Прямоугольный многомерный массив іnt[,] myMatrix; irivMatr-ix = new int[6. о]:
// Заполняем массив б на б: for tint і - О; і < 6; і++)
for tint j = О; j < 6; j++) myMatr1x[1. j] = i*j;
// Выводим элементы многомерного массива на системную консоль for (int 1 = 0; і < б; і++)
І
for (int j = О; j < 6; j++) {
Console.Write(myMatrix[i. j] + "Yt");
j.
Console.UriteUneO:
}
Результат выполнения данной программы представлен на рис. 2.20. При этом прямоугольная сущность этого типа многомерного массива видна очень хорошо.
Работа с массивами 121.
1¦WJ В *І
fl i~ect..ni<iul;ii- HTj ars-aii: 3

__і
И 0 0 G G а
и ї. 2 3 4
9 2 4 6 8 ig
И 3 f. 9 12 15
И 4 В 12 16 20
в Б 1Я 15 20 25
;'>¦<:•:. any key to млі I. ii.m-

I4I I J-
Рис. 2.20. Многомерный прямоугольный массив
Второй тип многомерного массива можно назвать «ломаным» (jagged). Таком массив содержит в качестве внутренних элементов некоторое количество внутренних массивов, каждый из которых может иметь свой внутренний уникальный размер. Например:
"Ломаный" нногонерный массив (кассив массивов), нашен случае - это массив
// из пяти внутренних массивов разного размера int[][] myJagArray = new int[5][]:
Il Создаем "ломаный" нассив
for (intl = 0; 1 < myJagArray.Length; 1++)
{
rriyJagArray[i] = new int[i + 7]:
]
// Выводим каидую стрзну на системную консоль (как мы каждому элементу
// присваивается значение по умолчанию - в нашем случае 0) for (int і = О: і < ?; і++)
І
Consolе.WriteC"Length of row {0} is {1JAt", i. myJagArray[1].Length):
for (int j = 0; j < myJagArray[i].Length: 3++)
[
Consol о '.4-і teCmyJagArravn 1 [j ! +
Ї
Console.WriteLine():
}
Результат работы этой программы представлен на рис. 2.21 (обратите внимание на разную длину строк этого массива).
LSI
¦і Ml) , !
bengt]l of run Ii is V: И И И и И И И U1IK1« Ii of 1-ом 1 is 8: И00И0И0И Length of 1-?Vf 2 is 9: и И Й И «і И И И И LulKith of ¦•OLl 3 і я L0: И И И И И И И И И И Length of rou 4 is 11: И И 0 0 0 в 0 в 0 в В Press <my key to continue
Рис 2.21. «Ломаный» массив
122 Глава 2 • Основы языка С#
Тепгрі., когда мы умеем создавать и заполнять массивы С#, мы можем обратить внимание на главный класс, который является базовым для всех массивов С# - класс System.Array.
Базовый класс System.Array
Все наиболее важные различия между массивами в C++ и С# происходят оттого, что в С# все массивы являются производными от базового класса System. Array. За счет этого любой массив в С# наследует большое количество полезных методов и свойств, которыесильноупрощаютработупрограммиста. Самыеинтересныеме-тоды и свойства (но, конечно, далеко не все) приведены в табл. 2.10.
Таблица 2.10. Некоторые члены класса System.Array Член класса Назначение
BInarySearchO
Clear()
СоруТоО GetEnumeratorO
GettengthO Length
GetLowerBoundO GetUpperBoundO GetValueO SetValueQ
Reverse() SortQ
Этот статический метод можно использовать только тогда, когда массив реализует интерфейс !.Comparer (подробнее — в главе 4). Если этот интерфейс реализован, метод EiinarySearchQ позволяет найти элемент массива
Этот статический метод позволяет очистить указанный диапазон элементов (числовые элементы приобретут значения 0, а ссылки на объекты — null)
Используется для копирования элементов из исходного массива в массив назначения
Возвращает интерфейс !Enumerator для указанного массива.
06 интерфейсах подробнее будет рассказано в главе 4, сейчас же просто
заметим, что этот интерфейс необходим для применения конструкции
foreacr»
Метод GetLength() используется для определения количества элементов в указанном измерении массива. Length это свойство только для с помощью которого можно получить количество элементов массива
Эти методы используются для определения нижней и верхней границы выбранного вами измерения массива
Возвращает или устанавливает значение указанного индекса для массива. Этот метод перегружен для нормальной работы как с одномерными, так и с многомерными массивами
Этот статический метод позволяет расставить элементы одномерного массива в обратном порядке
Соргируе: одномерный массив встроенных типов данных. Если элементы массива поддерживают интерфейс IComparer, то с помощью этого метода вы сможете производить сортировку и пользовательских типов
данных (опять-таки за более подробными объяснениями мы отсылаем вас к главе 4)
Рассмотрим некоторые члены System.Array в действии. В нашем примере с помощью статических методов ReverseC) и ClearO, а также свойства Length производится вывод на системную консоль информации о массиве fi rstName:
// Создаем несколько массивов символьных строк и экспериментируем // с членани System.Array
Работа с массивами 12.Ї
class Arrays і {
public static int Main(string[] args) {
Предыдущая << 1 .. 50 51 52 53 54 55 < 56 > 57 58 59 60 61 62 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100