Возвращает длину заданного измерения массива в
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);
}
}