Public long GetLongLength(int

 

Возвращает длину заданного измерения массива в

 

dimension)

 

виде значения типа long. Отсчет измерений начинается с нуля, поэтому для получения длины первого измерения необходимо передать данному методу значение 0 параметра dimension , для получения длины второго измерения — значение 1 и т.д.

 

Public int GetLowerBound(int

 

Возвращает начальный индекс заданного измере

 

dimension)

 

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

 

_ Продолжение табл. 21.12

 

Метод

 

Назначение

 

с нуля, поэтому для получения начального индекса

 

-

 

первого измерения необходимо передать данному

 

методу значение 0 параметра dimension , для получения начального индекса второго измерения —

 

значение 1 и т.д.

 

Public int GetUpperBound(int

 

Возвращает конечный индекс заданного измере

 

dimension)

 

ния массива. Параметр dimension определяет отсчет измерений с нуля, поэтому для получения конечного индекса первого измерения необходимо передать данному методу значение 0 параметра dimension , для получения конечного индекса второго измерения — значение 1 и т.д.

 

Public object GetValue(int

 

Возвращает значение элемента из вызывающего

 

index)

 

массива по индексу index. Массив должен быть одномерным

 

Public object GetValue(long

 

Возвращает значение элемента из вызывающего

 

index)

 

массива по индексу index. Массив должен быть одномерным

 

Public object GetValue(int

 

Возвращает значение элемента из вызывающего

 

indexl, int index2)

 

массива по индексам [indexl, index2] . Массив должен быть двумерным

 

Public object GetValue(long

 

Возвращает значение элемента из вызывающего

 

indexl, long index2)

 

массива по индексам [ indexl, index2] .Массив должен быть двумерным

 

Public object GetValue(int

 

Возвращает значение элемента из вызывающе

 

indexl, int index2, int

 

го массива по индексам [indexl, index2,

 

index3)

 

index3] . Массив должен быть трехмерным

 

Public object GetValue(long

 

Возвращает значение элемента из вызывающе

 

indexl, long index2, long

 

го массива по индексам [indexl, index2,

 

idx3)

 

index3] .Массив должен быть трехмерным

 

public object GetValue(int[]

 

Возвращает значение элемента из вызывающего

 

indices)

 

массива по указанным индексам. Число измерений массива должно соответствовать числу элементов массива indices

 

Public object

 

Возвращает значение элемента из вызывающего

 

GetValue(long[] indices)

 

массива по указанным индексам. Число измерений массива должно соответствовать числу элементов массива indices

 

Public static int

 

Возвращает индекс первого элемента, имеющего

 

IndexOf(Array array, object

 

значение value в одномерном массиве array.

 

value)

 

Если искомое значение не найдено, то возвращает -1. (Если же массив имеет ненулевую нижнюю границу, то неудачный исход поиска будет обозначаться значением нижней границы, уменьшенным на 1.)

 

Метод

 

Назначение

 

Public static int

 

Возвращает индекс первого элемента, имеющего

 

IndexOf<T>(T [] array , T

 

значение value в одномерном массиве array.

 

value)

 

Если искомое значение не найдено, то возвращает

 

Public static int

 

-L

Возвращает индекс первого элемента, имеющего

 

IndexOf(Array array , object

 

значение value в одномерном массиве array.

 

value , int startlndex)

 

Поиск начинается с элемента, указываемого по индексу array [startlndex] . Метод возвращает -1, если искомое значение не найдено. (Если массив имеет ненулевую нижнюю границу, то неудачный исход поиска будет обозначаться значением

 

нижней границы, уменьшенным на 1.)

 

Public static int

 

Возвращает индекс первого элемента, имеющего

 

IndexOf<T>(T [] array , T

 

значение value в одномерном массиве array.

 

value , int startlndex)

 

Поиск начинается с элемента, указываемого по индексу array [startlndex] .Метод возвращает -1, если искомое значение не найдено

 

Public static int

 

Возвращает индекс первого элемента, имеющего

 

IndexOf(Array array , object

 

значение value в одномерном массиве array.

 

value, int startlndex, int

 

Поиск начинается с элемента, указываемого по

 

count)

 

индексу array [startlndex] , и продолжается среди числа элементов, определяемых параметром count. Метод возвращает -1, если искомое значение не найдено в заданных пределах. (Если же массив имеет ненулевую нижнюю границу, то неудачный исход поиска будет обозначаться значением нижней границы, уменьшенным на 1.)

 

Public static int

 

Возвращает индекс первого элемента, имеющего

 

IndexOf<T>(T [] array, T

 

значение value в одномерном массиве array.

 

value, int startlndex, int

 

• Поиск начинается с элемента, указываемого по

 

count)

 

индексу array [start Index] , и продолжается среди числа элементов, определяемых параметром count. Метод возвращает -1, если искомое значение не найдено в заданных пределах

 

public void4-Initialize ()

 

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

 

Public static int

 

Возвращает индекс последнего элемента, имеюще

 

LastlndexOf(Array array,

 

го значение value в одномерном массиве array.

 

object value)

 

Если искомое значение не найдено, то возвращает -1. (Если массив имеет ненулевую нижнюю границу, то неудачный исход поиска будет обозначаться значением нижней границы, уменьшенным на 1.)

 

_ Продолжение табл. 21.12

 

Метод

 

Назначение

 

Public static int

 

Возвращает индекс последнего элемента, имею

 

LastIndexOf-<T> (T [ ] array , T

 

щего значение value в одномерном массиве

 

value)

 

array. Если искомое значение не найдено, то возвращает -1

 

Public static int

 

Возвращает индекс последнего элемента, имеюще

 

LastlndexOf(Array array ,

 

го значение value в одномерном массиве array.

 

object value , int startlndex)

 

Поиск начинается в обратном порядке с элемента, указываемого по индексу array [startlndex] , и оканчивается на элементе а [ 0] .Метод возвращает -1, если искомое значение не найдено. (Если массив имеет ненулевую нижнюю границу, то неудачный исход поиска будет обозначаться значением нижней границы, уменьшенным на 1.)

 

Public static int

 

Возвращает индекс последнего элемента, имеюще

 

LastlndexOf<T>(T[] array, T

 

го значение value в одномерном массиве array.

 

value, int startlndex)

 

Поиск начинается в обратном порядке с элемента, указываемого по индексу a [startlndex] , и оканчивается на элементе а [ 0] .Метод возвращает -1, если искомое значение не найдено

 

Public static int

 

Возвращает индекс последнего элемента, имеюще

 

LastlndexOf(Array array,

 

го значение value в одномерном массиве array.

 

object value, int startlndex,

 

Поиск начинается в обратном порядке с элемента,

 

int count)

 

указываемого по индексу array [start Index ], и продолжается среди числа элементов, определяемых параметром count. Метод возвращает -1, если искомое значение не найдено в заданных пределах. (Если массив имеет ненулевую нижнюю границу, то неудачный исход поиска будет обозначаться значением нижней границы, уменьшенным на 1.)

 

Public static int

 

Возвращает индекс последнего элемента, имеюще

 

LastlndexOf<T>(T[] array, T

 

го значение value в одномерном массиве array.

 

value, int startlndex, int

 

Поиск начинается в обратном порядке с элемента,

 

count)

 

указываемого по индексу array [start Index] , и продолжается среди числа элементов, определяемых параметром count. Метод возвращает -1, если искомое значение не найдено в заданных пределах

 

Public static void

 

Задает длину newSize массива array

 

Resize<T>(ref T[] array, int

 

newSize)

 

Public static void

 

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

 

Reverse(Array array)

 

тов в массиве array

 

Public static void

 

Меняет на обратный порядок следования эле

 

Reverse(Array array, int

 

ментов массива array заданных в пределах,

 

index, int length)

 

начиная с элемента, указываемого по индексу array [ index] , и включая число элементов, определяемых параметром lenqth

 

Метод

 

Назначение

 

Public

 

Void SetValue(object

 

Устанавливает значение value элемента вызыва

 

value ,

 

int index)

 

ющего массива по индексу index. Массив должен быть одномерным

 

Public

 

Void SetValue(object

 

Устанавливает значение value элемента вызыва

 

value,

 

long index)

 

ющего массива по индексу index. Массив должен быть одномерным

 

Public

 

Void SetValue(object

 

Устанавливает значение value элемента вы

 

value,

 

int indexl, int index2)

 

зывающего массива по индексам [indexl, index2] .Массив должен быть двумерным

 

Public

 

Void SetValue(object

 

Устанавливает значение value элемента вы

 

value,

 

long indexl, long index2)

 

зывающего массива по индексам [indexl, index2] .Массив должен быть двумерным

 

Public

 

Void SetValue(object

 

Устанавливает значение value элемента вызыва

 

value,

 

int indexl, int 4

 

ющего массива по индексам [ indexl ,index2,

 

index2,

 

int index3)

 

index3] .Массив должен быть трехмерным

 

Public

 

Void SetValue(object

 

Устанавливает значение value элемента вызыва

 

value,

 

long indexl, long

 

ющего массива по индексам [ indexl ,index2,

 

index2,

 

. long index3)

 

index3] .Массив должен быть трехмерным

 

Public

 

Void SetValue(object

 

Устанавливает значение value элемента вызы

 

value,

 

int[] indices)

 

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

 

Public

 

Void SetValue(object

 

Устанавливает значение value элемента вызы

 

value,

 

long[]indices)

 

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

 

Public

 

Static void

 

Сортирует массив array по нарастающей. Массив

 

Sort(Array array)

 

должен быть одномерным

 

Public

 

Static void

 

Сортирует массив array по нарастающей. Массив

 

Sort<T>(T[] array)

 

должен быть одномерным

 

Public

 

Static void

 

Сортирует массив array по нарастающей, исполь

 

Sort(Array array, IComparer

 

зуя способ сравнения, задаваемый параметром

 

comparer)

 

comparer. Массив должен быть одномерным

 

Public

 

Static void

 

Сортирует массив array по нарастающей, исполь

 

Sort<T> (T [ ] array,

 

зуя способ сравнения, задаваемый параметром

 

Comparison<T> comparer)

 

comparer. Массив должен быть одномерным

 

Public

 

Static void

 

Сортирует массив array по нарастающей, исполь

 

Sort<T> (T [ ] array,

 

зуя способ сравнения, задаваемый параметром

 

IComparer<T> comparer)

 

comparer. Массив должен быть одномерным

 

Public

 

Static void

 

Сортирует по нарастающей два заданных одномер

 

Sort(Array keys, Array

 

ных массива. Массив keys содержит ключи сорти

 

i terns)

 

ровки, а массив i tems — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку нарастания ключей

 

_ Продолжение табл. 21.12

 

Метод

 

Назначение

 

Public static void

 

Сортирует по нарастающей два заданных одномер

 

Sort<TKey, TValue>(TKey[]

 

ных массива. Массив keys содержит ключи сорти

 

keys , TV[] items)

 

ровки, а массив items значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку возрастания ключей

 

Public static void

 

Сортирует по нарастающей два заданных одномер

 

Sort(Array keys, Array

 

ных массива, используя способ сравнения, задава-,

 

items, Icomparer comparer)

 

емый параметром comparer. Массив keys содержит ключи сортировки, а массив i terns — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку возрастания ключей

 

Public static void

 

Сортирует по нарастающей два заданных одномер

 

SortCTKey* TValue>(TKey[]

 

ных массива, используя способ сравнения, задава

 

keys, TValue[] items,

 

емый параметром comparer. Массив keys содер

 

IComparer<TKey> comparer)

 

жит ключи сортировки, а массив i terns — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку возрастания ключей

 

Public static void

 

Сортирует массив array по нарастающей в задан

 

Sort(Array array, int index,

 

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

 

int length)

 

по индексу array [index] , и включая число элементов, определяемых параметром length. Массив должен быть одномерным

 

Public static void

 

Сортирует массив array по нарастающей в задан

 

Sort<T>(T[] array, int

 

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

 

index, int length)

 

по индексу array [index] , и включая число элементов, определяемых параметром length. Массив должен быть одномерным

 

public static void Sort (Array Сортирует массив array по нарастающей в за-

 

array, int index, int length,

 

данных пределах, начиная с элемента, указывае

 

IComparer comparer)

 

мого по индексу array [index] , и включая число элементов, определяемых параметром length , а также используя способ сравнения, задаваемый параметром v. Массив должен быть одномерным

 

Public static void

 

Сортирует массив array по нарастающей в задан

 

Sort<T>(T[] array, int

 

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

 

index, int length,

 

индексу array [ index] , и включая число элемен

 

Icomparer<T> comparer)

 

тов, определяемых параметром length , а также используя способ сравнения, задаваемый параметром comparer. Массив должен быть одномерным

 

Метод

 

Назначение

 

public static void

 

Сортирует по нарастающей два одномерных мас

 

Sort(Array keys, Array

 

сива в.заданных пределах, начиная с элемента,

 

items, int index, int

 

указываемого по индексу index , и включая число

 

length)

 

элементов, определяемых параметром length. Массив keys содержит ключи сортировки, а массив i terns значения, связанные с этими ключами. Следовательно, оба массива должны содержать

 

пары “ключ-значение". После сортировки элементы обоих массивов располагаются в заданных пределах по порядку возрастания ключей

 

public static void

 

Сортирует по нарастающей два одномерных мас

 

Sort<TKey, TValue>(TKey[]

 

сива в заданных пределах, начиная с элемента,

 

keys, TValue[] items, int

 

указываемого по индексу index , и включая число

 

index, int length)

 

элементов, определяемых параметром length. Массив keys содержит ключи сортировки, а массив i terns — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение". После сортировки элемен

 

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

 

public static void

 

Сортирует по нарастающей два одномерных мас

 

Sort(Array keys, Array

 

сива в заданных пределах, начиная с элемента,

 

items, int index, int

 

указываемого по индексу index , и включая число

 

length, IComparer comparer)

 

элементов, определяемых параметром length , а также используя способ сравнения, задаваемый параметром comparer. Массив keys содержит ключи сортировки, а массив items значения, связанные с этими ключами. Следовательно, эти два массива должны содержать пары “ключ-значение". После сортировки элементы обоих мас

 

сивов располагаются в заданных пределах по порядку возрастания ключей

 

public static void

 

Сортирует по нарастающей два одномерных мас

 

Sort<TKey, TValue>(TKey[]

 

сива в заданных пределах, начиная с элемента,

 

keys, TV items, int index,

 

указываемого по индексу index , и включая число

 

int length, Icomparer<TKey>

 

элементов, определяемых параметром length , а

 

comparer)

 

также используя способ сравнения, задаваемый параметром comparer. Массив keys содержит ключи сортировки,,а массив items значения, связанные с этими ключами. Следовательно, эти два массива должны содержать пары .“ключ-

 

значение". После сортировки элементы обоих массивов располагаются в заданных пределах по порядку возрастания ключей

 

Метод

 

Назначение

 

Public static bool

 

Возвращает логическое значение true, если все

 

TrueForAll<T>(T [] array,

 

элементы массива array удовлетворяют условию

 

Predicate<T> match)

 

предиката, задаваемого параметром match. Если один или более элементов этого массива не удовлетворяют заданному условию, то возвращается логическое значение false

 

 

Сортировка и поиск в массивах

Содержимое массива нередко приходится сортировать. Для этой цели в классе Array предусмотрен обширный ряд сортирующих методов. Так, с помощью разных вариантов метода Sort () можно отсортировать массив полностью или в заданных пределах либо отсортировать два массива, содержащих соответствующие пары "ключ-значение". После сортировки в массиве можно осуществить эффективный поиск, используя разные варианты метода BinarySearch (). В качестве примера ниже приведена программа, в которой демонстрируется применение методов Sort () и BinarySearch () для сортировки и поиска в массиве значений типа int.

// Отсортировать массив и найти в нем значение.

Using System;

class SortDemo {

static void Main() {

int [ ] nums = { 5, 4, 6, 3, 14, 9, 8, 17, 1, 24, -1, 0 };

// Отобразить исходный порядок следования.

Console.Write("Исходный порядок следования: "); foreach(int i in nums)

Console.Write(i + " ") ;

Console.WriteLine();

// Отсортировать массив.

Array.Sort(nums);

// Отобразить порядок следования после сортировки.

Console.Write("Порядок следования после сортировки: "); foreach(int i in nums)

Console.Write(i + " ");

Console.WriteLine ();

// Найти значение 14.

int idx = Array.BinarySearch(nums, 14);

Console.WriteLine("Индекс элемента массива со значением 14: " + idx) ;

}

}