Окончание табл. 21.9
Метод
Назначение
public static char ■ ToUpperlnvariant(char c) public' static bool TryParse(string s, out char result)
Возвращает прописной эквивалент символа с независимо от настроек культурной среды Предпринимает попытку преобразовать символ из строки s в его эквивалентное значение типа char. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true. Если же строка s состоит из нескольких символов, то возвращается логическое значение false, в отличие от метода Parse (), который генерирует исключение при неудачном исходе преобразования
Ниже приведен пример программы, в которой демонстрируется применение нескольких методов, определенных в структуре Char.
// Продемонстрировать применение нескольких методов,
// определенных в структуре Char.
using System;
using System.Globalization;
class CharDemo {
static void Main() {
string str = "Это простой тест. $23"; int i;
for(i=0; i < str.Length; i++) {
Console.Write(str[i] + " является"); if(Char.IsDigit(str[i]))
Console.Write(" цифрой"); if(Char.IsLetter(str[i]))
Console.Write(" буквой"); if(Char.IsLower(str [i]))
Console.Write(" строчной"); if(Char.IsUpper(str[i]))
Console.Write(" прописной"); if(Char.IsSymbol(str[i]))
Console.Write(" символическим знаком"); if(Char.IsSeparator (str[i]))
Console.Write(" разделительным"); if(Char.IsWhiteSpace (str [i]))
Console.Write(" пробелом"); if(Char.IsPunctuation(str [i]))
Console.Write(" знаком препинания");
Console.WriteLine("Исходная строка: " + str);
// Преобразовать в прописные буквы.
string newstr = "";
for(i=0; i < str.Length; i++)
newstr += Char.ToUpper (str[i], Culturelnfo.CurrentCulture);
Console.WriteLine("После преобразования: " + newstr);
}
}
Эта программа дает следующий результат.
Э является буквой прописной т является буквой строчной о является буквой строчной
является разделительным пробелом п является буквой строчной р является буквой строчной
о является буквой строчной с является буквой строчной т является буквой строчной
о является буквой строчной й является буквой строчной
является разделительным пробелом т является буквой строчной е является буквой строчной с является буквой строчной т является буквой строчной . является знаком препинания
является разделительным пробелом $ является символическим знаком
2 является цифрой
3 является цифрой
Исходная строка: Это простой тест. $23 После преобразования: ЭТО ПРОСТОЙ ТЕСТ. $23
Структура Boolean
В структуре Boolean поддерживаются данные типа bool. Методы, определенные в этой структуре, перечислены в табл. 21.10. Кроме того, в ней определены следующие поля.
public static readonly string FalseString public static readonly string TrueString
В этих полях логические значения true и false содержатся в удобочитаемой форме. Так, если вывести содержимое поля FalseString с помощью-метода WriteLine (), то на экране появится строка "False".
В структуре Boolean реализованы следующие интерфейсы: I Comp а г able, IComparable, IConvertible иIEquatable.
Метод
Назначение
public int CompareTo(bool
Сравнивает логическое значение вызывающего объек
value).
та со значением параметра value. Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет логическое значение false, а параметр value — логическое значение true; и, наконец, положительное значение, если вызывающий объект имеет логическое значение true, а параметр value —логическое значение false
public int
Сравнивает логическое значение вызывающего объек
CompareTo(object obj)
та со значением параметра obj. Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет логическое значение false, а параметр obj — логическое значение true; и, наконец, положительное значение, если вызывающий объект имеет логическое значение true, а параметр obj — логическое значение false
public bool Equals(bool obj)
Возвращает логическое значение true, если значение вызывающего объекта равно значению параметра obj
public override bool
Возвращает логическое значение true, если значение
Equals(object obj)
вызывающего объекта равно значению параметра obj
public override int
Возвращает хеш-код для вызывающего объекта
GetHashCode()
public TypeCode
Возвращает значение перечисления TypeCode для
GetTypeCode()
структуры Boolean, т.е. TypeCode . Boolean
public static bool
Возвращает эквивалент типа bool символьной стро
Parse(string s)
ки s. Если строка s не содержит ни поле Boolean. TrueString, ни поле Boolean. FalseString, то генерируется исключение FormatException, независимо оттого, какими буквами набрано содержимое строки: прописными или строчными
public override string
Возвращает строковое, представление значения вызы
ToString()
вающего объекта, которое должно быть либо значением поля TrueString, либо значением поля FalseString
public string
Возвращает строковое представление значения вызы
ToString(IFormatProvider
вающего объекта, которое должно быть либо значением
provider)
поля TrueString, либо значением поля FalseString. При этом параметр provider игнорируется
public static bool
Предпринимает попытку преобразовать символ из стро
TryParse(string s, out
ки s в его эквивалентное значение типа bool. При
bool result)
успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true. Если же строка s не содержит ни поле Boolean. TrueString, ни поле Boolean. FalseString, то возвращается логическое значение false, независимо от того, какими буквами набрано содержимое строки: прописными или строчными, в отличие от метода Parse (), который генеоиоует исключение в аналогичной ситуации
Класс Array
Класс Array относится к числу наиболее часто используемых в пространстве имен System. Он является базовым классом для всех массивов в С#. Следовательно, его методы можно применять к массивам любого встроенного в C# типа или же к массивам определяемого пользователем типа. Свойства, определенные в классе Array, перечислены в табл. 21.11, а методы — в табл. 21.12.
В классе Array реализуются следующие интерфейсы: ICloneable, ICollection, IEnumerable, IStructuralComparable, IStructuralEquatable, а такжеIList. Все интерфейсы, кроме ICloneable, определены в пространстве имен System. Collections, подробнее рассматриваемом в главе 25.
В ряде методов данного класса используется параметр типа I Comparer или IComparer. Интерфейс IComparer находится в пространстве имен System. Collections. В нем определяется метод Compare () для сравнения значений двух объектов, как показано ниже.
int Compare(object х, object у)
Этот метод возвращает значение больше нуля, если х больше у; значение меньше нуля, если х меньше у; и, наконец, нулевое значение, если оба значения равны.
Интерфейс IComparer находится в пространстве имен System. Collections . Generic. В нем определяется метод Compare (), общая форма которого приведена ниже.
int Compare(Т х, Т у)
Он действует таким же образом, как и его необобщенный аналог, возвращая значение больше нуля, если х больше у значение меньше нуля, если х меньше у и, наконец, нулевое значение, если оба значения равны. Преимущество интерфейса IComparer заключается в том, что он обеспечивает типовую безопасность. Ведь в этом случае тип обрабатываемых данных указывается явным образрм, а следовательно, никакого приведения типов не требуется.
В последующих разделах демонстрируется ряд наиболее распространенных операций с массивами.
Таблица 21.11. Свойства, определенные в классе Array
Свойство
Назначение
public bool IsFixedSize { get; }
public bool IsReadOnly { get; }
public bool
IsSynchronized { get; }
Доступно только для чтения. Принимает логическое значение true, если массив имеет фиксированный размер, и логическое значение false, если массив может изменять его динамически
Доступно только для чтения. Принимает логическое значение true, если объект класса Array предназначен только для чтения, а иначе — логическое значение false. Для массивов это свойство всегда имеет логическое значение true Доступно только для чтения. Принимает логическое значение true, если массив можно безопасно использовать в многопоточной среде, а иначе — логическое значение false. Для массивов это свойство всегда имеет логическое значение true
Свойство
Назначение '
public int Length {
Доступно только для чтения. Имеет тип int и содержит ко
get; }
личество элементов в массиве
public long LongLength
Доступно только для чтения. Имеет тип long и содержит
{ get; }
количество элементов в массиве
public int Rank { get; }
Доступно только для чтения. Содержит размерность массива
public object SyncRoot
Доступно только для чтения. Содержит объект, предназна
{ get; }
ченный для синхронизации доступа к массиву
Таблица 21.12. Методы, определенные в классе Array
Метод
Назначение
public static
Возвращает доступную только для чтения коллек
ReadOnlyCollection
цию, которая включает в себя массив, определяе
AsReadOnly(Т[] array)
мый параметром array
public static int
Осуществляет поиск значения value в массиве
BinarySearch(Array
array,
array. Возвращает индекс первого вхождения
object value)
искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным
public static int
Осуществляет поиск значения value в массиве
BinarySearch(T[]
array,
array. Возвращает индекс первого вхождения
T value)
искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным
public static int
Осуществляет поиск значения value в масси
BinarySearch(Array
array,
ве, определяемом параметром array, исполь
object value, IComparer
зуя способ сравнения, задаваемый параметром
comparer)
comparer. Возвращает индекс первого вхождения искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным
public static int
Осуществляет поиск значения value в массиве
BinarySearch (T [ ]
array,
array, используя способ сравнения, задаваемый
T value, IComparer
параметром comparer. Возвращает индекс перво
comparer)
го вхождения искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным
public static int
Осуществляет поиск значения value в части мас
BinarySearch(Array
array,
сива array. Поиск начинается с индекса, зада
int index, int length,
ваемого параметром index, и охватывает число
object value)
элементов, определяемых параметром length. Возвращает индекс первого вхождения искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным
Метод
Назначение
public static int
Осуществляет поиск значения value в части мас
BinarySearch(T[] array,
сива array. Поиск начинается с индекса, зада
int index, int length, T
ваемого параметром index, и охватывает число
value)
элементов, определяемых параметром length. Возвращает индекс первого вхождения искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным
public static int
Осуществляет поиск значения value в части мас
BinarySearch(Array array,
сива array, используя способ сравнения, опреде
int index, int length,
ляемый параметром comparer. Поиск начинается
object value, IComparer
с индекса, задаваемого параметром index, и охва
comparer)
тывает число элементов, определяемых параметром length. Возвращает индекс первого вхождения искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным
public static int
Осуществляет поиск значения value в части мас
BinarySearch(T [] array,
сива array, используя способ сравнения, опреде
int index, int length,
ляемый параметром comparer. Поиск начинается
T value, Icomparer
с индекса, задаваемого параметром index, и охва
comparer)
тывает число элементов, определяемых параметром length. Возвращает индекс первого вхождения искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным
public static void
Устанавливает заданные элементы массива array
Clear(Array array, int
равными нулю, пустому значению null или логи
index, int length)
ческому значению false в зависимости оттипэ элемента: значения, ссылочного или логического. Подмножество элементов, подлежащих обнулению, начинается с индекса, задаваемого параметром index, и включает в себя число элементов, определяемых параметром length
public object Clone ()
Возвращает копию вызывающего массива. Эта копия ссылается на те же элементы, что и оригинал, поэтому она называется “неполной". Таким образом, изменения, вносимые в элементы, влияют на оба массива, поскольку и в том и в другом используются одни и те же элементы
public static void
Копирует число элементов, задаваемых па
ConstrainedCopy(Array
раметром length, из исходного массива
sourceArray, int sourcelndex,
sourceArray, начиная с элемента, указывае
Array destinationArray, int
мого по индексу sourcelndex, в целевой мас
destinationlndex, int length)
сив destinationArray, начиная с элемента,
_Продолжение табл. 21.12
Метод
Назначение
указываемого по индексу destinationlndex. Если
оба массива имеют одинаковый ссылочный тип, то метод ConstrainedCopy () создает “неполную копию", в результате чего оба массива будут ссылаться на одни и те же элементы. Если же во время копирования возникает ошибка, то содержимое целевого массива destinationAr ray остается прежним
public static TTo [ ]
Преобразует массив array из типа Tlnput в тип
ConvertА11<ТInput,
TOutput и возвращает получающийся в итоге
TTo>(TFrom[] array,
массив. Исходный массив остается прежним. Пре
Converter
образование выполняется преобразователем, за
converter)
даваемым параметром converter
public static void
Копирует число элементов, задаваемых параметром
Copy(Array sourceArray,
length, из исходного массива sourceArray в це
Array destinationArray,
int
левой массив destinationArray, начиная с пер
length)
вого элемента массива. Если оба массива имеют одинаковый ссылочный тип, то метод Сору () создает “неполную копию", в результате чего оба массива будут ссылаться на одни и те же элементы. Если же во время копирования возникает ошибка, то содержимое целевого массива destinationArray оказывается неопределенным
public static void
Копирует число элементов, задаваемых параметром
Copy(Array sourceArray,
length, из исходного массива sourceArray в це
Array destinationArray,
long
левой массив destinationArray, начиная с пер
length)
вого элемента массива. Если оба массива имеют одинаковый ссылочный тип, то метод Сору () создает “неполную копию”, в результате чего оба массива будут ссылаться на одни и те же элементы. Если же во время копирования возникает ошибка, то содержимое целевого массива destinationArray оказывается неопределенным
public static void
Копирует число элементов, задаваемых параме
Copy(Array sourceArray,
тром length, из исходного массива sourceArray,
int sourcelndex, Array
начиная с элемента, указываемого по индексу
destinationArray, int
sourceArray [ sourcelndex], в целевой массив
destinationlndex, int
destinationArray, начиная с элемента, указы
length)
ваемого по индексу destinationAr ray [destinationlndex] . Если оба массива имеют одинаковый ссылочный тип, то метод Сору () создает “неполную копию”, в результате чего оба массива будут ссылаться на одни и те же элементы. Если же во время копирования возникает ошибка, то содержимое целевого массива destinationArray оказывается неопределенным
Метод
Назначение
public static void
Копирует число элементов, задаваемых параме
Copy(Array sourceArray,
тром length, из исходного массива sourceArray,
long sourcelndex, Array
начиная с элемента, указываемого по индексу
destinationArray, long
sourceArray [source Index], в целевой массив
destinationlndex, long
destinationArray, начиная с элемента, указы
length)
ваемого по индексу destinationArray [destinationlndex] . Если оба массива имеют одинаковый ссылочный тип, то метод Сору () создает “неполную копию”, в результате чего оба массива будут ссылаться на одни и те же элементы. Если же во время копирования возникает ошибка, то содержимое целевого массива destinationArray оказывается неопределенным
public void CopyTo(Array
Копирует элементы вызывающего массива в це
array, int index)
левой массив array, начиная с элемента, указываемого по индексу array [index]. Если же во время копирования возникает ошибка, то содержимое целевого массива array оказывается неопределенным
public void CopyTo(Array
Копирует элементы вызывающего массива в це
array, long index)
левой массив array, начиная с элемента, указываемого по индексу array [index]. Если же во время копирования возникает ошибка, то содержимое целевого массива array оказывается неопределенным
public static Array
Возвращает ссылку на одномерный массив, кото
Createlnstance(Type
рый содержит число элементов типа elementType,
elementType, int length)
определяемое параметром length
public static Array
Возвращает ссылку на двумерный массив разме
Createlnstance(Type
ром lengthl*length2. Каждый элемент этого
elementType, int lengthl,
массива имеет тип elementType
int length2)
public static Array
^ Возвращает ссылку на трехмерный массив разме
Createlnstance(Type
ром lengthl* length2* length3. Каждый эле
elementType, int lengthl,
мент этого массива имеет тип elementType
int length2, int length3)
public static Array
Возвращает ссылку на многомерный массив, раз
Createlnstance(Type
мерность которого задается в массиве lengths.
elementType, params int[]
Каждый элемент этого массива имеет тип
lengths)
elementType
public static Array
Возвращает ссылку на многомерный массив, раз
Createlnstance(Type
мерность которого задается в массиве lengths.
elementType, params long[]
Каждый элемент этого массива имеет тип
lengths)
elementType
_Продолжение табл. 21.12
Метод
Назначение
public static Array
Возвращает ссылку на многомерный массив, раз
Createlnstance(Type
мерность которого задается в массиве lengths.
elementType, int[]lengths,
Каждый элемент этого массива имеет тип
int[] lowerBounds)
elementType. Начальный индекс каждого измерения задается в массиве lowerBounds. Таким образом, этот метод позволяет создавать массивы, которые начинаются с некоторого индекса, отличного от нуля
public static bool
Возвращает логическое значение true, если мас
Exists(T[] array,
сив array содержит хотя бы один элемент, удо
Predicate match)
влетворяющий условию предиката, задаваемого параметром match, а иначе возвращает логическое значение false
public static T Find(T[]
Возвращает первый элемент массива array, удо
array, Predicate match)
влетворяющий условию предиката, задаваемого параметром’ match, а иначе возвращает значение типа default (Т)
public static T[]
Возвращает все элементы массива array, удо
FindAll(T[] array,
влетворяющие условию предиката, задаваемого
Predicate match)
параметром match, а иначе возвращает массив нулевой длины
public static int
Возвращает индекс первого элемента массива
FindIndex(T[] array,
array, удовлетворяющего условию предиката, за
Predicate match)
даваемого параметром match, иначе возвращает значение -1
public static int
Возвращает индекс первого элемента масси
FindIndex(T[]array, int
ва array, удовлетворяющего убловию предика
startlndex, Predicate
та, задаваемого параметром match. Поиск на
match)
чинается с элемента, указываемого по индексу array [ start Index]. Если ни один из элементов, удовлетворяющих данному условию, не найден, то возвращается значение -1
public static int
Возвращает индекс первого элемента масси
FindIndex(T[] array,
ва array, удовлетворяющего условию предика
int startlndex, int count,
та, задаваемого параметром match. Поиск на
Predicate match)
чинается с элемента, указываемого по индексу array [startlndex], и продолжается среди числа элементов, определяемых параметром count. Если ни один из элементов, удовлетворяющих данному условию, не найден, то возвращается значение -1
public static T
Возвращает последний элемент массива array,
FindLast(T[] array,
удовлетворяющий условию предиката, задаваемо
Predicate match)
го параметром match, иначе возвращает значение типа default (Т)
Метод
Назначение
public static int
Возвращает индекс последнего элемента массива
FindLastIndex(T[]
array,
array, удовлетворяющего условию предиката, за
. Predicate match)
даваемого параметром match, иначе возвращает значение -1
public static int
Возвращает индекс последнего элемента массива
FindLastIndex(T[]
array,
array, удовлетворяющего условию предиката, за
int startlndex, Predicate
даваемого параметром match. Поиск начинается
match)
в обратном порядке с элемента, указываемого по индексу array [startlndex], и оканчивается на элементе array [ 0]. Если ни один из элементов, удовлетворяющих данному условию, не найден, то возвращается значение -1
public static int
Возвращает индекс последнего элемента массива
FindLastIndex(T[]
array,
array, удовлетворяющего условию предиката, за
int startlndex, int
count,
даваемого параметром v. Поиск начинается в об
Predicate match)
ратном порядке с элемента, указываемого по индексу array[start], и продолжается среди числа элементов, определяемых параметром count. Если ни один из элементов, удовлетворяющих данному условию, не найден, то возвращается значение -1
public static void
Применяет метод, задаваемый параметром
ForEach(T[]array,
action, к каждому элементу массива array
Action action)
public IEnumerator
Возвращает перечислительный объект для масси
GetEnumerator()
ва. Перечислители позволяют опрашивать массив в цикле. Боле подробно перечислители описываются в главе 25
public override int
Возвращает хеш-код для вызывающего объекта
GetHashCode()
public int GetLength(int
Возвращает длину заданного измерения массива.
dimension)
Отсчет измерений начинается с нуля, поэтому для получения длины первого измерения необходимо передать данному методу значение 0 параметра dimension, для получения длины второго измерения — значение 1 и т.д.
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[] 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[] 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[] array, T
значение value в одномерном массиве array.
value, int startlndex, int
• Поиск начинается с элемента, указываемого по
count)
индексу array [start Index], и продолжается среди числа элементов, определяемых параметром count. Метод возвращает -1, если искомое значение не найдено в заданных пределах
public void 4 -Initialize ()
Инициализирует каждый элемент вызывающего массива с помощью конструктора, используемого по умолчанию для соответствующего элемента. Этот метод можно использовать только для массивов простых типов значений
public static int
Возвращает индекс последнего элемента, имеюще
LastlndexOf(Array array,
го значение value в одномерном массиве array.
object value)
Если искомое значение не найдено, то возвращает -1. (Если массив имеет ненулевую нижнюю границу, то неудачный исход поиска будет обозначаться значением нижней границы, уменьшенным на 1.)
_Продолжение табл. 21.12
Метод
Назначение
public static int
Возвращает индекс последнего элемента, имею
LastIndexOf- (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[] 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[]array, T
го значение value в одномерном массиве array.
value, int startlndex, int
Поиск начинается в обратном порядке с элемента,
count)
указываемого по индексу array [start Index], и продолжается среди числа элементов, определяемых параметром count. Метод возвращает -1, если искомое значение не найдено в заданных пределах
public static void
Задает длину newSize массива array
Resize(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[]array)
должен быть одномерным
public
static void
Сортирует массив array по нарастающей, исполь
Sort(Array array, IComparer
зуя способ сравнения, задаваемый параметром
comparer)
comparer. Массив должен быть одномерным
public
static void
Сортирует массив array по нарастающей, исполь
Sort (T [ ] array,
зуя способ сравнения, задаваемый параметром
Comparison comparer)
comparer. Массив должен быть одномерным
public
static void
Сортирует массив array по нарастающей, исполь
Sort (T [ ] array,
зуя способ сравнения, задаваемый параметром
IComparer comparer)
comparer. Массив должен быть одномерным
public
static void
Сортирует по нарастающей два заданных одномер
Sort(Array keys, Array
ных массива. Массив keys содержит ключи сорти
i terns)
ровки, а массив i tems — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку нарастания ключей
_Продолжение табл. 21.12
Метод
Назначение
public static void
Сортирует по нарастающей два заданных одномер
Sort(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 comparer)
жит ключи сортировки, а массив i terns — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку возрастания ключей
public static void
Сортирует массив array по нарастающей в задан
Sort(Array array, int index,
ных пределах, начиная с элемента, указываемого
int length)
по индексу array [index], и включая число элементов, определяемых параметром length. Массив должен быть одномерным
public static void
Сортирует массив array по нарастающей в задан
Sort(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[] array, int
ных пределах, начиная с элемента, указываемого по
index, int length,
индексу array [ index], и включая число элемен
Icomparer 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[]
сива в заданных пределах, начиная с элемента,
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[]
сива в заданных пределах, начиная с элемента,
keys, TV items, int index,
указываемого по индексу index, и включая число
int length, Icomparer
элементов, определяемых параметром length, а
comparer)
также используя способ сравнения, задаваемый параметром comparer. Массив keys содержит ключи сортировки,,а массив items — значения, связанные с этими ключами. Следовательно, эти два массива должны содержать пары .“ключ-
значение". После сортировки элементы обоих массивов располагаются в заданных пределах по порядку возрастания ключей
Метод
Назначение
public static bool
Возвращает логическое значение true, если все
TrueForAll(T[] array,
элементы массива array удовлетворяют условию
Predicate match)
предиката, задаваемого параметром match. Если один или более элементов этого массива не удовлетворяют заданному условию, то возвращается логическое значение false