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) ;

}

}

Наши рекомендации