- •Windows-проект на языке с#
- •Константы
- •Организация консольного ввода-вывода в c#
- •Методы классов в c#
- •Модификаторы для параметров методов
- •Массивы в c#
- •Одномерные массивы
- •Многомерные массивы
- •Базовый класс System.Array
- •Работа со строками в c#
- •Управляющие последовательности и вывод служебных символов
Базовый класс 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:
********************************************
Исходный массив:
Колян Вован Иван Болван Чурбан
Инверсный массив:
Чурбан Болван Иван Вован Колян
Сортированный массив:
Болван Вован Иван Колян Чурбан
Частично очищенный массив:
Болван Чурбан