Array Класс

Определение

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

public ref class Array abstract : System::Collections::IList, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
public ref class Array abstract : ICloneable, System::Collections::IList, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
public ref class Array abstract : ICloneable, System::Collections::IList
public abstract class Array : System.Collections.IList, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
public abstract class Array : ICloneable, System.Collections.IList, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
[System.Serializable]
public abstract class Array : ICloneable, System.Collections.IList
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class Array : ICloneable, System.Collections.IList
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class Array : ICloneable, System.Collections.IList, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type Array = class
    interface ICollection
    interface IEnumerable
    interface IList
    interface IStructuralComparable
    interface IStructuralEquatable
type Array = class
    interface ICollection
    interface IEnumerable
    interface IList
    interface IStructuralComparable
    interface IStructuralEquatable
    interface ICloneable
[<System.Serializable>]
type Array = class
    interface ICloneable
    interface IList
    interface ICollection
    interface IEnumerable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Array = class
    interface ICloneable
    interface IList
    interface ICollection
    interface IEnumerable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Array = class
    interface ICloneable
    interface IList
    interface ICollection
    interface IEnumerable
    interface IStructuralComparable
    interface IStructuralEquatable
type Array = class
    interface IList
    interface ICollection
    interface IEnumerable
    interface IStructuralComparable
    interface IStructuralEquatable
Public MustInherit Class Array
Implements IList, IStructuralComparable, IStructuralEquatable
Public MustInherit Class Array
Implements ICloneable, IList, IStructuralComparable, IStructuralEquatable
Public MustInherit Class Array
Implements ICloneable, IList
Наследование
Array
Атрибуты
Реализации

Примеры

В следующем примере кода показано, как Array.Copy копирует элементы между массивом целочисленного типа и массивом типа Object.

open System

let printValues myArr =
    for i in myArr do
        printf $"\t{i}"
    printfn ""

// Creates and initializes a new integer array and a new Object array.
let myIntArray = [| 1..5 |]
let myObjArray = [| 26..30 |]

// Prints the initial values of both arrays.
printfn "Initially,"
printf "integer array:"
printValues myIntArray
printfn "Object array: "
printValues myObjArray

// Copies the first two elements from the integer array to the Object array.
Array.Copy(myIntArray, myObjArray, 2)

// Prints the values of the modified arrays.
printfn "\nAfter copying the first two elements of the integer array to the Object array,"
printf "integer array:"
printValues myIntArray
printf"Object array: "
printValues myObjArray

// Copies the last two elements from the Object array to the integer array.
Array.Copy(myObjArray, myObjArray.GetUpperBound 0 - 1, myIntArray, myIntArray.GetUpperBound 0 - 1, 2)

// Prints the values of the modified arrays.
printfn $"\nAfter copying the last two elements of the Object array to the integer array,"
printf "integer array:"
printValues myIntArray
printf "Object array: "
printValues myObjArray


// This code produces the following output.
//     Initially,
//     integer array:  1       2       3       4       5
//     Object array:   26      27      28      29      30
//     
//     After copying the first two elements of the integer array to the Object array,
//     integer array:  1       2       3       4       5
//     Object array:   1       2       28      29      30
//     
//     After copying the last two elements of the Object array to the integer array,
//     integer array:  1       2       3       29      30
//     Object array:   1       2       28      29      30
using System;
public class SamplesArray
{

    public static void Main()
    {

        // Creates and initializes a new integer array and a new Object array.
        int[] myIntArray = new int[5] { 1, 2, 3, 4, 5 };
        Object[] myObjArray = new Object[5] { 26, 27, 28, 29, 30 };

        // Prints the initial values of both arrays.
        Console.WriteLine("Initially,");
        Console.Write("integer array:");
        PrintValues(myIntArray);
        Console.Write("Object array: ");
        PrintValues(myObjArray);

        // Copies the first two elements from the integer array to the Object array.
        System.Array.Copy(myIntArray, myObjArray, 2);

        // Prints the values of the modified arrays.
        Console.WriteLine("\nAfter copying the first two elements of the integer array to the Object array,");
        Console.Write("integer array:");
        PrintValues(myIntArray);
        Console.Write("Object array: ");
        PrintValues(myObjArray);

        // Copies the last two elements from the Object array to the integer array.
        System.Array.Copy(myObjArray, myObjArray.GetUpperBound(0) - 1, myIntArray, myIntArray.GetUpperBound(0) - 1, 2);

        // Prints the values of the modified arrays.
        Console.WriteLine("\nAfter copying the last two elements of the Object array to the integer array,");
        Console.Write("integer array:");
        PrintValues(myIntArray);
        Console.Write("Object array: ");
        PrintValues(myObjArray);
    }

    public static void PrintValues(Object[] myArr)
    {
        foreach (Object i in myArr)
        {
            Console.Write("\t{0}", i);
        }
        Console.WriteLine();
    }

    public static void PrintValues(int[] myArr)
    {
        foreach (int i in myArr)
        {
            Console.Write("\t{0}", i);
        }
        Console.WriteLine();
    }
}
/*
This code produces the following output.

Initially,
integer array:  1       2       3       4       5
Object array:   26      27      28      29      30

After copying the first two elements of the integer array to the Object array,
integer array:  1       2       3       4       5
Object array:   1       2       28      29      30

After copying the last two elements of the Object array to the integer array,
integer array:  1       2       3       29      30
Object array:   1       2       28      29      30
*/
Public Class SamplesArray

    Public Shared Sub Main()

        ' Creates and initializes a new integer array and a new Object array.
        Dim myIntArray() As Integer = {1, 2, 3, 4, 5}
        Dim myObjArray() As Object = {26, 27, 28, 29, 30}

        ' Prints the initial values of both arrays.
        Console.WriteLine("Initially:")
        Console.Write("integer array:")
        PrintValues(myIntArray)
        Console.Write("Object array: ")
        PrintValues(myObjArray)

        ' Copies the first two elements from the integer array to the Object array.
        System.Array.Copy(myIntArray, myObjArray, 2)

        ' Prints the values of the modified arrays.
        Console.WriteLine(ControlChars.NewLine + "After copying the first two" _
           + " elements of the integer array to the Object array:")
        Console.Write("integer array:")
        PrintValues(myIntArray)
        Console.Write("Object array: ")
        PrintValues(myObjArray)

        ' Copies the last two elements from the Object array to the integer array.
        System.Array.Copy(myObjArray, myObjArray.GetUpperBound(0) - 1, myIntArray,
           myIntArray.GetUpperBound(0) - 1, 2)

        ' Prints the values of the modified arrays.
        Console.WriteLine(ControlChars.NewLine + "After copying the last two" _
           + " elements of the Object array to the integer array:")
        Console.Write("integer array:")
        PrintValues(myIntArray)
        Console.Write("Object array: ")
        PrintValues(myObjArray)
    End Sub

    Public Overloads Shared Sub PrintValues(myArr() As Object)
        Dim i As Object
        For Each i In myArr
            Console.Write(ControlChars.Tab + "{0}", i)
        Next i
        Console.WriteLine()
    End Sub

    Public Overloads Shared Sub PrintValues(myArr() As Integer)
        Dim i As Integer
        For Each i In myArr
            Console.Write(ControlChars.Tab + "{0}", i)
        Next i
        Console.WriteLine()
    End Sub
End Class

' This code produces the following output.
' 
' Initially:
' integer array:  1       2       3       4       5
' Object array:   26      27      28      29      30
' 
' After copying the first two elements of the integer array to the Object array:
' integer array:  1       2       3       4       5
' Object array:   1       2       28      29      30
' 
' After copying the last two elements of the Object array to the integer array:
' integer array:  1       2       3       29      30
' Object array:   1       2       28      29      30

В следующем примере кода создается и инициализируется и Array отображается его свойства и его элементы.

open System

let printValues (myArray: Array) =
    let mutable i = 0
    let cols = myArray.GetLength(myArray.Rank - 1)
    for item in myArray do
        if i < cols then
            i <- i + 1
        else
            printfn ""
            i <- 1;
        printf $"\t{item}"
    printfn ""

// Creates and initializes a new three-dimensional Array of type int.
let myArr = Array.CreateInstance(typeof<int>, 2, 3, 4)
for i = myArr.GetLowerBound 0 to myArr.GetUpperBound 0 do
    for j = myArr.GetLowerBound 1 to myArr.GetUpperBound 1 do
        for k = myArr.GetLowerBound 2 to myArr.GetUpperBound 2 do
            myArr.SetValue(i * 100 + j * 10 + k, i, j, k)

// Displays the properties of the Array.
printfn $"The Array has {myArr.Rank} dimension(s) and a total of {myArr.Length} elements."
printfn $"\tLength\tLower\tUpper"

for i = 0 to myArr.Rank - 1 do
    printf $"{i}:\t{myArr.GetLength i}"
    printfn $"\t{myArr.GetLowerBound i}\t{myArr.GetUpperBound i}"

// Displays the contents of the Array.
printfn "The Array contains the following values:"
printValues myArr

// This code produces the following output.
// The Array has 3 dimension(s) and a total of 24 elements.
//     Length    Lower    Upper
// 0:  2    0    1
// 1:  3    0    2
// 2:  4    0    3
//
// The Array contains the following values:
//    0      1      2      3
//    10     11     12     13
//    20     21     22     23
//    100    101    102    103
//    110    111    112    113
//    120    121    122    123
// Creates and initializes a new three-dimensional Array of type int.
Array myArr = Array.CreateInstance(typeof(int), 2, 3, 4);
for (int i = myArr.GetLowerBound(0); i <= myArr.GetUpperBound(0); i++)
{
    for (int j = myArr.GetLowerBound(1); j <= myArr.GetUpperBound(1); j++)
    {
        for (int k = myArr.GetLowerBound(2); k <= myArr.GetUpperBound(2); k++)
        {
            myArr.SetValue((i * 100) + (j * 10) + k, i, j, k);
        }
    }
}

// Displays the properties of the Array.
Console.WriteLine("The Array has {0} dimension(s) and a total of {1} elements.", myArr.Rank, myArr.Length);
Console.WriteLine("\tLength\tLower\tUpper");
for (int i = 0; i < myArr.Rank; i++)
{
    Console.Write("{0}:\t{1}", i, myArr.GetLength(i));
    Console.WriteLine("\t{0}\t{1}", myArr.GetLowerBound(i), myArr.GetUpperBound(i));
}

// Displays the contents of the Array.
Console.WriteLine("The Array contains the following values:");
PrintValues(myArr);

void PrintValues(Array myArray)
{
    System.Collections.IEnumerator myEnumerator = myArray.GetEnumerator();
    int i = 0;
    int cols = myArray.GetLength(myArray.Rank - 1);
    while (myEnumerator.MoveNext())
    {
        if (i < cols)
        {
            i++;
        }
        else
        {
            Console.WriteLine();
            i = 1;
        }
        Console.Write("\t{0}", myEnumerator.Current);
    }
    Console.WriteLine();
}
// This code produces the following output.

// The Array has 3 dimension(s) and a total of 24 elements.
//     Length    Lower    Upper
// 0:  2    0    1
// 1:  3    0    2
// 2:  4    0    3
//
// The Array contains the following values:
//    0      1      2      3
//    10     11     12     13
//    20     21     22     23
//    100    101    102    103
//    110    111    112    113
//    120    121    122    123
Public Class SamplesArray2

    Public Shared Sub Main()

        ' Creates and initializes a new three-dimensional Array of
        ' type Int32.
        Dim myArr As Array = Array.CreateInstance(GetType(Int32), 2, 3, 4)
        Dim i As Integer
        For i = myArr.GetLowerBound(0) To myArr.GetUpperBound(0)
            Dim j As Integer
            For j = myArr.GetLowerBound(1) To myArr.GetUpperBound(1)
                Dim k As Integer
                For k = myArr.GetLowerBound(2) To myArr.GetUpperBound(2)
                    myArr.SetValue(i * 100 + j * 10 + k, i, j, k)
                Next k
            Next j
        Next i ' Displays the properties of the Array.
        Console.WriteLine("The Array has {0} dimension(s) and a " _
           + "total of {1} elements.", myArr.Rank, myArr.Length)
        Console.WriteLine(ControlChars.Tab + "Length" + ControlChars.Tab _
           + "Lower" + ControlChars.Tab + "Upper")
        For i = 0 To myArr.Rank - 1
            Console.Write("{0}:" + ControlChars.Tab + "{1}", i,
               myArr.GetLength(i))
            Console.WriteLine(ControlChars.Tab + "{0}" + ControlChars.Tab _
               + "{1}", myArr.GetLowerBound(i), myArr.GetUpperBound(i))
        Next i

        ' Displays the contents of the Array.
        Console.WriteLine("The Array contains the following values:")
        PrintValues(myArr)
    End Sub

    Public Shared Sub PrintValues(myArr As Array)
        Dim myEnumerator As System.Collections.IEnumerator =
           myArr.GetEnumerator()
        Dim i As Integer = 0
        Dim cols As Integer = myArr.GetLength(myArr.Rank - 1)
        While myEnumerator.MoveNext()
            If i < cols Then
                i += 1
            Else
                Console.WriteLine()
                i = 1
            End If
            Console.Write(ControlChars.Tab + "{0}", myEnumerator.Current)
        End While
        Console.WriteLine()
    End Sub
End Class

' This code produces the following output.
' 
' The Array has 3 dimension(s) and a total of 24 elements.
'     Length    Lower    Upper
' 0:    2    0    1
' 1:    3    0    2
' 2:    4    0    3
' The Array contains the following values:
'     0    1    2    3
'     10    11    12    13
'     20    21    22    23
'     100    101    102    103
'     110    111    112    113
'     120    121    122    123

Комментарии

Класс Array не является частью System.Collections пространств имен. Однако она по-прежнему считается коллекцией, так как она основана на интерфейсе IList .

Класс Array является базовым классом для реализаций языка, поддерживающих массивы. Однако только системные и компиляторы могут быть явным образом производными от Array класса. Пользователи должны использовать конструкции массива, предоставляемые языком.

Элемент является значением в объекте Array. Array Длина объекта — общее количество элементов, которые он может содержать. Нижняя граница объекта Array — это индекс своего первого элемента. У Array него может быть любая нижняя граница, но по умолчанию она имеет нижнюю границу. При создании экземпляра класса с помощью CreateInstanceдругой нижней Array границы можно определить другую нижнюю границу. Многомерное Array может иметь разные границы для каждого измерения. Массив может иметь не более 32 измерений.

В отличие от классов в System.Collections пространствах имен, Array имеет фиксированную емкость. Чтобы увеличить емкость, необходимо создать новый Array объект с требуемой емкостью, скопировать элементы из старого Array объекта в новый и удалить старый Array.

Размер массива ограничен 4 миллиардами элементов и максимальным индексом 0X7FEFFFFF в любом заданном измерении (0X7FFFFFC7 для массивов байтов и массивов однобайтовых структур).

.NET Framework only: По умолчанию максимальный размер Array составляет 2 гигабайта (ГБ). В 64-разрядной среде можно избежать ограничения размера, задав enabled атрибут элемента true конфигурации gcAllowVeryLargeObjects в среде выполнения.

Одномерные массивы реализуют System.Collections.Generic.IList<T>интерфейсы , System.Collections.Generic.IEnumerable<T>System.Collections.Generic.ICollection<T>System.Collections.Generic.IReadOnlyList<T> и System.Collections.Generic.IReadOnlyCollection<T> универсальные интерфейсы. Реализации предоставляются массивам во время выполнения, и в результате универсальные интерфейсы не отображаются в синтаксисе объявления для Array класса. Кроме того, нет справочных разделов для элементов интерфейса, которые доступны только путем приведения массива к универсальному типу интерфейса (явные реализации интерфейса). Важно учитывать, что при приведение массива к одному из этих интерфейсов заключается в том, что элементы, добавляющие, вставляющие или удаляющие элементы NotSupportedException.

Type объекты предоставляют сведения о объявлениях типов массива. Array объекты с тем же типом массива используют один и тот же Type объект.

Type.IsArray и Type.GetElementType может не возвращать ожидаемые результаты, Array так как если массив приведение к типу Array, результатом является объект, а не массив. То есть, typeof(System.Array).IsArray возвращает falseи typeof(System.Array).GetElementType возвращает.null

Метод Array.Copy копирует элементы не только между массивами одного типа, но и между стандартными массивами разных типов; он обрабатывает приведение типов автоматически.

Некоторые методы, такие как CreateInstance, Copy, CopyToGetValueиSetValue, предоставляют перегрузки, которые принимают 64-разрядные целые числа в качестве параметров для размещения больших массивов емкости. LongLength и GetLongLength возвращает 64-разрядные целые числа, указывающие длину массива.

Не гарантируется, что Array будет отсортирован. Перед выполнением операций (напримерBinarySearch), которые требуют Array сортировки, необходимо Array выполнить сортировку.

Array Использование объекта указателей в машинном коде не поддерживается и создает NotSupportedException исключение для нескольких методов.

Свойства

Имя Описание
IsFixedSize

Возвращает значение, указывающее, имеет ли Array фиксированный размер.

IsReadOnly

Возвращает значение, указывающее, доступен ли Array только для чтения.

IsSynchronized

Возвращает значение, указывающее, синхронизирован ли доступ к Array (потокобезопасный).

Length

Возвращает общее количество элементов во всех измерениях Array.

LongLength

Возвращает 64-разрядное целое число, представляющее общее количество элементов во всех измерениях.Array

MaxLength

Возвращает максимальное количество элементов, которые могут содержаться в массиве.

Rank

Возвращает ранг (число измерений) объекта Array. Например, одномерный массив возвращает 1, двухмерный массив возвращает 2 и т. д.

SyncRoot

Получает объект, который можно использовать для синхронизации доступа к объекту Array.

Методы

Имя Описание
AsReadOnly<T>(T[])

Возвращает оболочку только для чтения для указанного массива.

BinarySearch(Array, Int32, Int32, Object, IComparer)

Выполняет поиск диапазона элементов в одномерном отсортированного массива для значения с помощью указанного IComparer интерфейса.

BinarySearch(Array, Int32, Int32, Object)

Выполняет поиск диапазона элементов в одномерном отсортированного массива для значения, используя IComparable интерфейс, реализованный каждым элементом массива и указанным значением.

BinarySearch(Array, Object, IComparer)

Выполняет поиск всего одномерного отсортированного массива для значения с помощью указанного IComparer интерфейса.

BinarySearch(Array, Object)

Выполняет поиск всего одномерного отсортированного массива для определенного элемента, используя IComparable интерфейс, реализованный каждым элементом массива и указанным объектом.

BinarySearch<T>(T[], Int32, Int32, T, IComparer<T>)

Выполняет поиск диапазона элементов в одномерном отсортированного массива для значения, используя указанный IComparer<T> универсальный интерфейс.

BinarySearch<T>(T[], Int32, Int32, T)

Выполняет поиск диапазона элементов в одномерном отсортированного массива для значения, используя IComparable<T> универсальный интерфейс, реализованный каждым элементом Array и указанным значением.

BinarySearch<T>(T[], T, IComparer<T>)

Выполняет поиск всего одномерного отсортированного массива для значения с помощью указанного IComparer<T> универсального интерфейса.

BinarySearch<T>(T[], T)

Выполняет поиск всего одномерного отсортированного массива для определенного элемента, используя IComparable<T> универсальный интерфейс, реализованный каждым элементом указанного Array объекта и заданным объектом.

Clear(Array, Int32, Int32)

Задает диапазон элементов в массиве значением по умолчанию каждого типа элемента.

Clear(Array)

Очищает содержимое массива.

Clone()

Создает неглубокую копию Array.

ConstrainedCopy(Array, Int32, Array, Int32, Int32)

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

ConvertAll<TInput,TOutput>(TInput[], Converter<TInput,TOutput>)

Преобразует массив одного типа в массив другого типа.

Copy(Array, Array, Int32)

Копирует диапазон элементов из первого элемента и вставляет их в другойArray, начиная с Array первого элемента. Длина указывается как 32-разрядное целое число.

Copy(Array, Array, Int64)

Копирует диапазон элементов из первого элемента и вставляет их в другойArray, начиная с Array первого элемента. Длина указывается как 64-разрядное целое число.

Copy(Array, Int32, Array, Int32, Int32)

Копирует диапазон элементов начиная с указанного исходного индекса и вставляет их в другойArray, начиная с Array указанного целевого индекса. Длина и индексы указываются как 32-разрядные целые числа.

Copy(Array, Int64, Array, Int64, Int64)

Копирует диапазон элементов начиная с указанного исходного индекса и вставляет их в другойArray, начиная с Array указанного целевого индекса. Длина и индексы указываются как 64-разрядные целые числа.

CopyTo(Array, Int32)

Копирует все элементы текущего одномерного массива в указанный одномерный массив, начиная с указанного индекса целевого массива. Индекс указывается как 32-разрядное целое число.

CopyTo(Array, Int64)

Копирует все элементы текущего одномерного массива в указанный одномерный массив, начиная с указанного индекса целевого массива. Индекс указывается как 64-разрядное целое число.

CreateInstance(Type, Int32, Int32, Int32)

Создает трехмерную Array длину указанных Type и измерений с отсчитываемой от нуля индексации.

CreateInstance(Type, Int32, Int32)

Создает двухмерную Array длину указанных Type и измерений с отсчитываемой от нуля индексации.

CreateInstance(Type, Int32)

Создает одномерное Array значение указанной Type и длины с отсчитываемой от нуля индексации.

CreateInstance(Type, Int32[], Int32[])

Создает многомерную Array длину указанных Type и измерений с указанными нижними границами.

CreateInstance(Type, Int32[])

Создает многомерную Array длину указанных Type и измерений с отсчитываемой от нуля индексации. Длина измерения указывается в массиве 32-разрядных целых чисел.

CreateInstance(Type, Int64[])

Создает многомерную Array длину указанных Type и измерений с отсчитываемой от нуля индексации. Длина измерения указывается в массиве 64-разрядных целых чисел.

CreateInstanceFromArrayType(Type, Int32)

Создает одномерный Array тип и длину указанного массива с отсчитываемой от нуля индексации.

CreateInstanceFromArrayType(Type, Int32[], Int32[])

Создает многомерную Array длину указанных Type и измерений с указанными нижними границами.

CreateInstanceFromArrayType(Type, Int32[])

Создает многомерную Array длину указанных Type и измерений с отсчитываемой от нуля индексации.

Empty<T>()

Возвращает пустой массив.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Exists<T>(T[], Predicate<T>)

Определяет, содержит ли указанный массив элементы, соответствующие условиям, определенным указанным предикатом.

Fill<T>(T[], T, Int32, Int32)

Присваивает заданный value тип T элементам указанного значения array , которые находятся в диапазоне startIndex (включительно) и следующему count числу индексов.

Fill<T>(T[], T)

Назначает заданный value тип T каждому элементу указанного элемента array.

Find<T>(T[], Predicate<T>)

Выполняет поиск элемента, соответствующего условиям, определенным указанным предикатом, и возвращает первое вхождение в пределах всего Array.

FindAll<T>(T[], Predicate<T>)

Извлекает все элементы, соответствующие условиям, определенным указанным предикатом.

FindIndex<T>(T[], Int32, Int32, Predicate<T>)

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

FindIndex<T>(T[], Int32, Predicate<T>)

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

FindIndex<T>(T[], Predicate<T>)

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

FindLast<T>(T[], Predicate<T>)

Выполняет поиск элемента, соответствующего условиям, определенным указанным предикатом, и возвращает последнее вхождение в течение всего Array.

FindLastIndex<T>(T[], Int32, Int32, Predicate<T>)

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

FindLastIndex<T>(T[], Int32, Predicate<T>)

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

FindLastIndex<T>(T[], Predicate<T>)

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

ForEach<T>(T[], Action<T>)

Выполняет указанное действие для каждого элемента указанного массива.

GetEnumerator()

Возвращает значение IEnumerator для Arrayобъекта .

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLength(Int32)

Возвращает 32-разрядное целое число, представляющее количество элементов в указанном измерении Array.

GetLongLength(Int32)

Возвращает 64-разрядное целое число, представляющее количество элементов в указанном измерении Array.

GetLowerBound(Int32)

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

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
GetUpperBound(Int32)

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

GetValue(Int32, Int32, Int32)

Возвращает значение по заданной позиции в трехмерном Arrayформате. Индексы указываются как 32-разрядные целые числа.

GetValue(Int32, Int32)

Возвращает значение по заданной позиции в двухмерном Arrayформате. Индексы указываются как 32-разрядные целые числа.

GetValue(Int32)

Возвращает значение по заданной позиции в одномерном Arrayрежиме. Индекс указывается как 32-разрядное целое число.

GetValue(Int32[])

Возвращает значение по заданной позиции в многомерном.Array Индексы указываются в виде массива 32-разрядных целых чисел.

GetValue(Int64, Int64, Int64)

Возвращает значение по заданной позиции в трехмерном Arrayформате. Индексы указываются как 64-разрядные целые числа.

GetValue(Int64, Int64)

Возвращает значение по заданной позиции в двухмерном Arrayформате. Индексы указываются как 64-разрядные целые числа.

GetValue(Int64)

Возвращает значение по заданной позиции в одномерном Arrayрежиме. Индекс указывается как 64-разрядное целое число.

GetValue(Int64[])

Возвращает значение по заданной позиции в многомерном.Array Индексы указываются в виде массива 64-разрядных целых чисел.

IndexOf(Array, Object, Int32, Int32)

Выполняет поиск указанного объекта в диапазоне элементов одномерного массива и возвращает индекс первого вхождения ifs. Диапазон расширяется от указанного индекса для указанного количества элементов.

IndexOf(Array, Object, Int32)

Выполняет поиск указанного объекта в диапазоне элементов одномерного массива и возвращает индекс первого вхождения. Диапазон расширяется от указанного индекса до конца массива.

IndexOf(Array, Object)

Выполняет поиск указанного объекта и возвращает индекс первого вхождения в одномерном массиве.

IndexOf<T>(T[], T, Int32, Int32)

Выполняет поиск указанного объекта в диапазоне элементов одномерного массива и возвращает индекс первого вхождения. Диапазон расширяется от указанного индекса для указанного количества элементов.

IndexOf<T>(T[], T, Int32)

Выполняет поиск указанного объекта в диапазоне элементов одномерного массива и возвращает индекс первого вхождения. Диапазон расширяется от указанного индекса до конца массива.

IndexOf<T>(T[], T)

Выполняет поиск указанного объекта и возвращает индекс первого вхождения в одномерном массиве.

Initialize()

Инициализирует каждый элемент типа Array значения путем вызова конструктора без параметров типа значения.

LastIndexOf(Array, Object, Int32, Int32)

Выполняет поиск указанного объекта и возвращает индекс последнего вхождения в диапазоне элементов в одномерном Array формате, который содержит указанное число элементов и заканчивается на указанном индексе.

LastIndexOf(Array, Object, Int32)

Выполняет поиск указанного объекта и возвращает индекс последнего вхождения в диапазоне элементов в одномерном Array режиме, который расширяется от первого элемента к указанному индексу.

LastIndexOf(Array, Object)

Выполняет поиск указанного объекта и возвращает индекс последнего вхождения в пределах всего одномерного Array.

LastIndexOf<T>(T[], T, Int32, Int32)

Выполняет поиск указанного объекта и возвращает индекс последнего вхождения в диапазоне элементов, Array содержащих указанное число элементов и заканчивается на указанном индексе.

LastIndexOf<T>(T[], T, Int32)

Выполняет поиск указанного объекта и возвращает индекс последнего вхождения в диапазоне элементов, Array который расширяется от первого элемента к указанному индексу.

LastIndexOf<T>(T[], T)

Выполняет поиск указанного объекта и возвращает индекс последнего вхождения в пределах всего Array.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
Resize<T>(T[], Int32)

Изменяет количество элементов одномерного массива на указанный новый размер.

Reverse(Array, Int32, Int32)

Изменяет последовательность подмножества элементов в одномерном Arrayрежиме.

Reverse(Array)

Изменяет последовательность элементов во всем одномерном Arrayформате.

Reverse<T>(T[], Int32, Int32)

Изменяет последовательность подмножества элементов в одномерном универсальном массиве.

Reverse<T>(T[])

Изменяет последовательность элементов в одномерном универсальном массиве.

SetValue(Object, Int32, Int32, Int32)

Задает значение для элемента в указанной позиции в трехмерном Arrayвиде. Индексы указываются как 32-разрядные целые числа.

SetValue(Object, Int32, Int32)

Задает значение для элемента в указанной позиции в двухмерном Arrayформате. Индексы указываются как 32-разрядные целые числа.

SetValue(Object, Int32)

Задает значение для элемента в указанной позиции в одномерном Arrayрежиме. Индекс указывается как 32-разрядное целое число.

SetValue(Object, Int32[])

Задает значение для элемента в указанной позиции в многомерном режиме Array. Индексы указываются в виде массива 32-разрядных целых чисел.

SetValue(Object, Int64, Int64, Int64)

Задает значение для элемента в указанной позиции в трехмерном Arrayвиде. Индексы указываются как 64-разрядные целые числа.

SetValue(Object, Int64, Int64)

Задает значение для элемента в указанной позиции в двухмерном Arrayформате. Индексы указываются как 64-разрядные целые числа.

SetValue(Object, Int64)

Задает значение для элемента в указанной позиции в одномерном Arrayрежиме. Индекс указывается как 64-разрядное целое число.

SetValue(Object, Int64[])

Задает значение для элемента в указанной позиции в многомерном режиме Array. Индексы указываются в виде массива 64-разрядных целых чисел.

Sort(Array, Array, IComparer)

Сортирует пару одномерных Array объектов (один содержит ключи и другой содержит соответствующие элементы) на основе ключей в первом Array с помощью указанного IComparer.

Sort(Array, Array, Int32, Int32, IComparer)

Сортирует диапазон элементов в паре одномерных Array объектов (один содержит ключи и другой содержит соответствующие элементы) на основе ключей в первом Array с помощью указанного IComparer.

Sort(Array, Array, Int32, Int32)

Сортирует диапазон элементов в паре одномерных Array объектов (один содержит ключи и другой содержит соответствующие элементы) на основе ключей в первую Array очередь с помощью IComparable реализации каждого ключа.

Sort(Array, Array)

Сортирует пару одномерных Array объектов (один содержит ключи, а другой содержит соответствующие элементы) на основе ключей в первую Array очередь с помощью IComparable реализации каждого ключа.

Sort(Array, IComparer)

Сортирует элементы в одномерном режиме Array с помощью указанного IComparer.

Sort(Array, Int32, Int32, IComparer)

Сортирует элементы в диапазоне элементов в одномерном режиме Array с помощью указанного IComparer.

Sort(Array, Int32, Int32)

Сортирует элементы в диапазоне элементов в одномерном режиме Array с помощью IComparable реализации каждого элемента элемента Array.

Sort(Array)

Сортирует элементы во всем одномерном режиме Array с помощью IComparable реализации каждого элемента элемента Array.

Sort<T>(T[], Comparison<T>)

Сортирует элементы в заданном Array объекте Comparison<T>.

Sort<T>(T[], IComparer<T>)

Сортирует элементы в Array указанном IComparer<T> универсальном интерфейсе.

Sort<T>(T[], Int32, Int32, IComparer<T>)

Сортирует элементы в диапазоне элементов в Array указанном IComparer<T> универсальном интерфейсе.

Sort<T>(T[], Int32, Int32)

Сортирует элементы в диапазоне элементов в ArrayIComparable<T> универсальной реализации интерфейса каждого элемента Array.

Sort<T>(T[])

Сортирует элементы в целом Array с помощью IComparable<T> реализации универсального интерфейса каждого элемента элемента Array.

Sort<TKey,TValue>(TKey[], TValue[], IComparer<TKey>)

Сортирует пару Array объектов (один содержит ключи, а другой содержит соответствующие элементы) на основе ключей в первом Array с помощью указанного IComparer<T> универсального интерфейса.

Sort<TKey,TValue>(TKey[], TValue[], Int32, Int32, IComparer<TKey>)

Сортирует диапазон элементов в паре Array объектов (один содержит ключи, а другой содержит соответствующие элементы) на основе ключей в первую Array очередь с помощью указанного IComparer<T> универсального интерфейса.

Sort<TKey,TValue>(TKey[], TValue[], Int32, Int32)

Сортирует диапазон элементов в паре Array объектов (один содержит ключи, а другой содержит соответствующие элементы) на основе ключей в первую Array очередь с помощью IComparable<T> реализации универсального интерфейса каждого ключа.

Sort<TKey,TValue>(TKey[], TValue[])

Сортирует пару Array объектов (один содержит ключи, а другой — соответствующие элементы) на основе ключей в первую Array очередь с помощью IComparable<T> реализации универсального интерфейса каждого ключа.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TrueForAll<T>(T[], Predicate<T>)

Определяет, соответствует ли каждый элемент в массиве условиям, определенным указанным предикатом.

Явные реализации интерфейса

Имя Описание
ICollection.Count

Возвращает количество элементов, содержащихся в объекте Array.

ICollection.IsSynchronized

Возвращает значение, указывающее, синхронизирован ли доступ к Array (потокобезопасный).

ICollection.SyncRoot

Получает объект, который можно использовать для синхронизации доступа к объекту Array.

IList.Add(Object)

Вызов этого метода всегда вызывает NotSupportedException исключение.

IList.Clear()

Удаляет все элементы из элемента IList.

IList.Contains(Object)

Определяет, находится ли элемент в IList.

IList.IndexOf(Object)

Определяет индекс определенного элемента в IList.

IList.Insert(Int32, Object)

Вставляет элемент IList в указанный индекс.

IList.IsFixedSize

Возвращает значение, указывающее, имеет ли Array размер фиксированного размера.

IList.IsReadOnly

Возвращает значение, указывающее, доступен ли доступ Array только для чтения.

IList.Item[Int32]

Возвращает или задает элемент по указанному индексу.

IList.Remove(Object)

Удаляет первое вхождение определенного объекта из IList.

IList.RemoveAt(Int32)

Удаляет IList элемент по указанному индексу.

IStructuralComparable.CompareTo(Object, IComparer)

Определяет, предшествует ли текущий объект коллекции, происходит в той же позиции, что и другой объект в порядке сортировки.

IStructuralEquatable.Equals(Object, IEqualityComparer)

Определяет, равен ли объект текущему экземпляру.

IStructuralEquatable.GetHashCode(IEqualityComparer)

Возвращает хэш-код для текущего экземпляра.

Методы расширения

Имя Описание
AsParallel(IEnumerable)

Включает параллелизацию запроса.

AsQueryable(IEnumerable)

Преобразует IEnumerable в IQueryable.

Cast<TResult>(IEnumerable)

Приведение элементов IEnumerable к указанному типу.

OfType<TResult>(IEnumerable)

Фильтрует элементы IEnumerable на основе указанного типа.

Применяется к

Потокобезопасность

Общедоступные статические (Shared в Visual Basic) элементы этого типа являются потокобезопасны. Никакие члены экземпляра не гарантированы как потокобезопасные.

Эта реализация не предоставляет синхронизированный (потокобезопасный) оболочку для Array; однако классы .NET на основе Array предоставляют собственную синхронизированную версию коллекции с помощью свойства SyncRoot.

Перечисление через коллекцию по сути не является потокобезопасной процедурой. Даже если коллекция синхронизирована, другие потоки по-прежнему могут изменять коллекцию, что приводит к возникновению исключения перечислителем. Чтобы гарантировать безопасность потоков во время перечисления, можно заблокировать коллекцию во время всего перечисления или поймать исключения, полученные из изменений, внесенных другими потоками.

См. также раздел