Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИДПО_ИИИС / Лекция 6.docx
Скачиваний:
52
Добавлен:
19.05.2015
Размер:
126.8 Кб
Скачать

Базовый класс System.Array

Все массивы в C# являются производными от базового класса System.Array. За счет этого любой массив наследует множество методов и свойств, которые сильно упрощают работу программиста. Методы можно увидеть в суфлере кода IntelliSense, применив его к имени класса или конкретному экземпляру.

Таблица 9 . Некоторые члены класса System.Array

Член класса

Назначение

BinarySearch()

Этот статический метод можно использовать только тогда, когда массив реализует интерфейс ICompare. Если этот интерфейс реализован, то данный метод позволяет найти элемент массива.

Clear()

Этот статический метод позволяет очистить указанный диапазон элементов и инициализировать их "безопасными" значениями. Массив целых получит нулевые значения элементов, строковый - пустые строки, ссылки преобретут значения null.

CopyTo()

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

GetEnumerator()

Возвращает интерфейс IEnumerator для указанного массива. Этот интерфейс необходим для применения конструкции цикла foreach.

GetLength(), Length

Метод GetLength() возвращает количество элементов для заданного в качестве аргумента измерения массива. Нумерация измерений начинается с нуля. Length - это свойство только для чтения, содержащее общее количество элементов массива.

GetLowerBound(), GetUpperBound()

Эти методы используются для определения нижней и верхней границ выбранного измерения массива.

GetValue(), SetValue()

Возвращает или устанавливает значение элемента по указанному в качестве аргумента индексу. Этот метод перегружен операторами индекса [] для нормальной работы как с одномерными, так и с многомерными массивами.

Reverse()

Этот статический метод изменяет порядок следования элементов массива на противоположный.

Sort()

Сортирует одномерный массив встроенных типов данных. Если элементы массива поддерживают интерфейс IComparer, то с помощью этого метода можно сортировать и данные пользовательских типов.

Рассмотрим примеры

using System;

namespace Test

{

class Test

{

private void DisplayString(string title, string[] list)

{

Console.WriteLine(title);

for(int i = 0; i < list.Length; i++)

Console.Write(list[i] + "\t");

Console.WriteLine(); // Для перевода строки

}

static void Main()

{

// Создадим объект для применения метода DisplayString()

Test test = new Test();

string title = "********************

************************\n"

+ "\tМетоды класса System.Array:\n"

+ "**************************

******************\n";

Console.WriteLine(title);

// Создаем строковый массив

string[] firstNames = new string[5]

{

"Колян",

"Вован",

"Иван",

"Болван",

"Чурбан"

};

test.DisplayString("Исходный массив:", firstNames);

// Расставим элементы в обратном порядке

// при помощи статического метода System.Array

Array.Reverse(firstNames);

test.DisplayString("\nИнверсный массив:

", firstNames);

// Сортируем элементы по алфавиту

// при помощи статического метода System.Array

Array.Sort(firstNames);

test.DisplayString("\nСортированный

массив:", firstNames);

// Очищаем элементы массива, начиная с имеющего

// индекс 1 три стоящих подряд

// при помощи статического метода System.Array

Array.Clear(firstNames, 1, 3);

test.DisplayString("\nЧастично очищенный массив:

", firstNames);

while(true);

}

}

}

Листинг 12 . Применение методов класса System.Array

Результат выполнения примера

********************************************

Методы класса System.Array:

********************************************

Исходный массив:

Колян Вован Иван Болван Чурбан

Инверсный массив:

Чурбан Болван Иван Вован Колян

Сортированный массив:

Болван Вован Иван Колян Чурбан

Частично очищенный массив:

Болван Чурбан

Соседние файлы в папке ИДПО_ИИИС