Array.IndexOf Метод

Определение

Выполняет поиск указанного объекта и возвращает индекс первого найденного совпадения в одномерном массиве или диапазоне элементов массива.Searches for the specified object and returns the index of its first occurrence in a one-dimensional array or in a range of elements in the array.

Перегрузки

IndexOf(Array, Object)

Выполняет поиск указанного объекта внутри всего одномерного массива и возвращает индекс его первого вхождения.Searches for the specified object and returns the index of its first occurrence in a one-dimensional array.

IndexOf(Array, Object, Int32)

Выполняет поиск указанного объекта в диапазоне элементов одномерного массива и возвращает индекс первого найденного совпадения.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. Диапазон начинается с указанного индекса и заканчивается концом массива.The range extends from a specified index to the end of the array.

IndexOf(Array, Object, Int32, Int32)

Выполняет поиск указанного объекта в диапазоне элементов одномерного массива и возвращает индекс первого найденного совпадения.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of ifs first occurrence. Диапазон расширяется от указанного индекса заданного числа элементов.The range extends from a specified index for a specified number of elements.

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

Выполняет поиск указанного объекта в диапазоне элементов одномерного массива и возвращает индекс первого найденного совпадения.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. Диапазон расширяется от указанного индекса заданного числа элементов.The range extends from a specified index for a specified number of elements.

IndexOf<T>(T[], T)

Выполняет поиск указанного объекта внутри всего одномерного массива и возвращает индекс его первого вхождения.Searches for the specified object and returns the index of its first occurrence in a one-dimensional array.

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

Выполняет поиск указанного объекта в диапазоне элементов одномерного массива и возвращает индекс первого найденного совпадения.Searches for the specified object in a range of elements of a one dimensional array, and returns the index of its first occurrence. Диапазон начинается с указанного индекса и заканчивается концом массива.The range extends from a specified index to the end of the array.

IndexOf(Array, Object)

Выполняет поиск указанного объекта внутри всего одномерного массива и возвращает индекс его первого вхождения.Searches for the specified object and returns the index of its first occurrence in a one-dimensional array.

public:
 static int IndexOf(Array ^ array, System::Object ^ value);
public static int IndexOf (Array array, object value);
static member IndexOf : Array * obj -> int

Параметры

array
Array

Одномерный массив для поиска.The one-dimensional array to search.

value
Object

Объект, который требуется найти в array.The object to locate in array.

Возвраты

Индекс первого вхождения value в массиве array, если найден. В противном случае — нижняя граница массива минус 1.The index of the first occurrence of value in array, if found; otherwise, the lower bound of the array minus 1.

Исключения

Свойство array имеет значение null.array is null.

Массив array является многомерным.array is multidimensional.

Примеры

В примере вызываются следующие три перегрузки метода IndexOf для поиска индекса строки в массиве строк:The example calls the following three overloads of the IndexOf method to find the index of a string in a string array:

  • IndexOf(Array, Object), чтобы определить первое вхождение строки «The» в массив строк.IndexOf(Array, Object), to determine the first occurrence of the string "the" in a string array.

  • IndexOf(Array, Object, Int32), чтобы определить первое вхождение строки "The" в четвертой части к последним элементам массива строк.IndexOf(Array, Object, Int32), to determine the first occurrence of the string "the" in the fourth to the last elements of a string array.

  • IndexOf(Array, Object, Int32, Int32), чтобы определить первое вхождение строки «The» в массив строк из элемента, следующего за последним успешным сопоставлением с концом массива.IndexOf(Array, Object, Int32, Int32), to determine the first occurrence of the string "the" in a string array from the element that follows the last successful match to the end of the array.

using namespace System;

void main()
{
   // Create a string array with 3 elements having the same value.
   array<String^>^ strings = { "the", "quick", "brown", "fox",
                               "jumps", "over", "the", "lazy", "dog",
                               "in", "the", "barn" };

   // Display the elements of the array.
   Console::WriteLine("The array contains the following values:");
   for (int i = strings->GetLowerBound(0); i <= strings->GetUpperBound(0); i++)
      Console::WriteLine("   [{0,2}]: {1}", i, strings[i]);
      
   // Search for the first occurrence of the duplicated value.
   String^ searchString =  "the";
   int index = Array::IndexOf(strings, searchString);
   Console::WriteLine("The first occurrence of \"{0}\" is at index {1}.",
                      searchString, index);

   // Search for the first occurrence of the duplicated value in the last section of the array.
   index = Array::IndexOf( strings, searchString, 4);
   Console::WriteLine("The first occurrence of \"{0}\" between index 4 and the end is at index {1}.",
                      searchString, index);

   // Search for the first occurrence of the duplicated value in a section of the array.
   int position = index + 1;
   index = Array::IndexOf(strings, searchString, position, strings->GetUpperBound(0) - position + 1);
   Console::WriteLine("The first occurrence of \"{0}\" between index {1} and index {2} is at index {3}.",
                      searchString, position, strings->GetUpperBound(0), index);
}
// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.
using System;

public class Example
{
    public static void Main()
    {
       // Create a string array with 3 elements having the same value.
       String[] strings = { "the", "quick", "brown", "fox", "jumps",
                            "over", "the", "lazy", "dog", "in", "the",
                            "barn" };

       // Display the elements of the array.
       Console.WriteLine("The array contains the following values:");
       for (int i = strings.GetLowerBound(0); i <= strings.GetUpperBound(0); i++)
          Console.WriteLine("   [{0,2}]: {1}", i, strings[i]);

       // Search for the first occurrence of the duplicated value.
       String searchString = "the";
       int index = Array.IndexOf(strings, searchString);
       Console.WriteLine("The first occurrence of \"{0}\" is at index {1}.",
                         searchString, index);
 
       // Search for the first occurrence of the duplicated value in the last section of the array.
       index = Array.IndexOf(strings, searchString, 4);
       Console.WriteLine("The first occurrence of \"{0}\" between index 4 and the end is at index {1}.",
                         searchString, index);
 
       // Search for the first occurrence of the duplicated value in a section of the array.
       int position = index + 1;
       index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1);
       Console.WriteLine("The first occurrence of \"{0}\" between index {1} and index {2} is at index {3}.",
                         searchString, position, strings.GetUpperBound(0), index);
    }
 }
// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.
Public Module Example
   Public Sub Main()
      ' Create a string array with 3 elements having the same value.
      Dim strings() As String = { "the", "quick", "brown", "fox",
                                  "jumps", "over", "the", "lazy",
                                  "dog", "in", "the", "barn" }

      ' Display the values of the array.
      Console.WriteLine("The array contains the following values:")
      For i As Integer = strings.GetLowerBound(0) To strings.GetUpperBound(0)
         Console.WriteLine("   [{0,2}]: {1}", i, strings(i))
      Next

      ' Search for the first occurrence of the duplicated value.
      Dim searchString As String = "the"
      Dim index As Integer = Array.IndexOf(strings, searchString)
      Console.WriteLine("The first occurrence of ""{0}"" is at index {1}.",
                        searchString, index)
        
      ' Search for the first occurrence of the duplicated value in the last section of the array.
      index = Array.IndexOf(strings, searchString, 4)
      Console.WriteLine("The first occurrence of ""{0}"" between index 4 and the end is at index {1}.",
                        searchString, index)
        
      ' Search for the first occurrence of the duplicated value in a section of the array.
       Dim position As Integer = index + 1
       index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1)
       Console.WriteLine("The first occurrence of ""{0}"" between index {1} and index {2} is at index {3}.",
                         searchString, position, strings.GetUpperBound(0), index)
    End Sub
End Module
' The example displays the following output:
'    The array contains the following values:
'       [ 0]: the
'       [ 1]: quick
'       [ 2]: brown
'       [ 3]: fox
'       [ 4]: jumps
'       [ 5]: over
'       [ 6]: the
'       [ 7]: lazy
'       [ 8]: dog
'       [ 9]: in
'       [10]: the
'       [11]: barn
'    The first occurrence of "the" is at index 0.
'    The first occurrence of "the" between index 4 and the end is at index 6.
'    The first occurrence of "the" between index 7 and index 11 is at index 10.

Комментарии

Этот метод ищет все элементы одномерного массива для value.This method searches all the elements of a one-dimensional array for value. Чтобы определить, существует ли value в array, метод выполняет сравнение на равенство путем вызова метода Equals каждого элемента до тех пор, пока не будет найдено совпадение.To determine whether value exists in array, the method performs an equality comparison by calling each element's Equals method until it finds a match. Это означает, что если элемент переопределяет метод Object.Equals(Object), вызывается это переопределение.This means that if the element overrides the Object.Equals(Object) method, that override is called.

Так как большинство массивов имеют нижнюю границу, равную нулю, этот метод обычно возвращает значение-1, еслиvalue не найден.Because most arrays have a lower bound of zero, this method generally returns -1 ifvalue isn't found. В редких случаях, когда нижняя граница массива равна Int32.MinValue (0x80000000), а value не найдена, этот метод возвращает Int32.MaxValue (0x7FFFFFFF).In the rare case that the lower bound of the array is equal to Int32.MinValue(0x80000000) and value isn't found, this method returns Int32.MaxValue (0x7FFFFFFF).

Этот метод является операцией O (n), где n является Length из array.This method is an O(n) operation, where n is the Length of array.

Дополнительно

IndexOf(Array, Object, Int32)

Выполняет поиск указанного объекта в диапазоне элементов одномерного массива и возвращает индекс первого найденного совпадения.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. Диапазон начинается с указанного индекса и заканчивается концом массива.The range extends from a specified index to the end of the array.

public:
 static int IndexOf(Array ^ array, System::Object ^ value, int startIndex);
public static int IndexOf (Array array, object value, int startIndex);
static member IndexOf : Array * obj * int -> int

Параметры

array
Array

Одномерный массив для поиска.The one-dimensional array to search.

value
Object

Объект, который требуется найти в array.The object to locate in array.

startIndex
Int32

Начальный индекс поиска.The starting index of the search. Значение 0 (ноль) действительно в пустом массиве.0 (zero) is valid in an empty array.

Возвраты

Индекс первого вхождения значения value в диапазоне элементов массива array, начинающемся с элемента с индексом startIndex и заканчивающемся последним элементом, если значение найдено; в противном случае нижняя граница массива минус 1.The index of the first occurrence of value, if it's found, within the range of elements in array that extends from startIndex to the last element; otherwise, the lower bound of the array minus 1.

Исключения

arraynull.array is null.

startIndex находится вне диапазона допустимых индексов для array.startIndex is outside the range of valid indexes for array.

Массив array является многомерным.array is multidimensional.

Примеры

В примере вызываются следующие три перегрузки метода IndexOf для поиска индекса строки в массиве строк:The example calls the following three overloads of the IndexOf method to find the index of a string in a string array:

  • IndexOf(Array, Object), чтобы определить первое вхождение строки «The» в массив строк.IndexOf(Array, Object), to determine the first occurrence of the string "the" in a string array.

  • IndexOf(Array, Object, Int32), чтобы определить первое вхождение строки "The" в четвертой части к последним элементам массива строк.IndexOf(Array, Object, Int32), to determine the first occurrence of the string "the" in the fourth to the last elements of a string array.

  • IndexOf(Array, Object, Int32, Int32), чтобы определить первое вхождение строки «The» в массив строк из элемента, следующего за последним успешным сопоставлением с концом массива.IndexOf(Array, Object, Int32, Int32), to determine the first occurrence of the string "the" in a string array from the element that follows the last successful match to the end of the array.

using namespace System;

void main()
{
   // Create a string array with 3 elements having the same value.
   array<String^>^ strings = { "the", "quick", "brown", "fox",
                               "jumps", "over", "the", "lazy", "dog",
                               "in", "the", "barn" };

   // Display the elements of the array.
   Console::WriteLine("The array contains the following values:");
   for (int i = strings->GetLowerBound(0); i <= strings->GetUpperBound(0); i++)
      Console::WriteLine("   [{0,2}]: {1}", i, strings[i]);
      
   // Search for the first occurrence of the duplicated value.
   String^ searchString =  "the";
   int index = Array::IndexOf(strings, searchString);
   Console::WriteLine("The first occurrence of \"{0}\" is at index {1}.",
                      searchString, index);

   // Search for the first occurrence of the duplicated value in the last section of the array.
   index = Array::IndexOf( strings, searchString, 4);
   Console::WriteLine("The first occurrence of \"{0}\" between index 4 and the end is at index {1}.",
                      searchString, index);

   // Search for the first occurrence of the duplicated value in a section of the array.
   int position = index + 1;
   index = Array::IndexOf(strings, searchString, position, strings->GetUpperBound(0) - position + 1);
   Console::WriteLine("The first occurrence of \"{0}\" between index {1} and index {2} is at index {3}.",
                      searchString, position, strings->GetUpperBound(0), index);
}
// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.
using System;

public class Example
{
    public static void Main()
    {
       // Create a string array with 3 elements having the same value.
       String[] strings = { "the", "quick", "brown", "fox", "jumps",
                            "over", "the", "lazy", "dog", "in", "the",
                            "barn" };

       // Display the elements of the array.
       Console.WriteLine("The array contains the following values:");
       for (int i = strings.GetLowerBound(0); i <= strings.GetUpperBound(0); i++)
          Console.WriteLine("   [{0,2}]: {1}", i, strings[i]);

       // Search for the first occurrence of the duplicated value.
       String searchString = "the";
       int index = Array.IndexOf(strings, searchString);
       Console.WriteLine("The first occurrence of \"{0}\" is at index {1}.",
                         searchString, index);
 
       // Search for the first occurrence of the duplicated value in the last section of the array.
       index = Array.IndexOf(strings, searchString, 4);
       Console.WriteLine("The first occurrence of \"{0}\" between index 4 and the end is at index {1}.",
                         searchString, index);
 
       // Search for the first occurrence of the duplicated value in a section of the array.
       int position = index + 1;
       index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1);
       Console.WriteLine("The first occurrence of \"{0}\" between index {1} and index {2} is at index {3}.",
                         searchString, position, strings.GetUpperBound(0), index);
    }
 }
// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.
Public Module Example
   Public Sub Main()
      ' Create a string array with 3 elements having the same value.
      Dim strings() As String = { "the", "quick", "brown", "fox",
                                  "jumps", "over", "the", "lazy",
                                  "dog", "in", "the", "barn" }

      ' Display the values of the array.
      Console.WriteLine("The array contains the following values:")
      For i As Integer = strings.GetLowerBound(0) To strings.GetUpperBound(0)
         Console.WriteLine("   [{0,2}]: {1}", i, strings(i))
      Next

      ' Search for the first occurrence of the duplicated value.
      Dim searchString As String = "the"
      Dim index As Integer = Array.IndexOf(strings, searchString)
      Console.WriteLine("The first occurrence of ""{0}"" is at index {1}.",
                        searchString, index)
        
      ' Search for the first occurrence of the duplicated value in the last section of the array.
      index = Array.IndexOf(strings, searchString, 4)
      Console.WriteLine("The first occurrence of ""{0}"" between index 4 and the end is at index {1}.",
                        searchString, index)
        
      ' Search for the first occurrence of the duplicated value in a section of the array.
       Dim position As Integer = index + 1
       index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1)
       Console.WriteLine("The first occurrence of ""{0}"" between index {1} and index {2} is at index {3}.",
                         searchString, position, strings.GetUpperBound(0), index)
    End Sub
End Module
' The example displays the following output:
'    The array contains the following values:
'       [ 0]: the
'       [ 1]: quick
'       [ 2]: brown
'       [ 3]: fox
'       [ 4]: jumps
'       [ 5]: over
'       [ 6]: the
'       [ 7]: lazy
'       [ 8]: dog
'       [ 9]: in
'       [10]: the
'       [11]: barn
'    The first occurrence of "the" is at index 0.
'    The first occurrence of "the" between index 4 and the end is at index 6.
'    The first occurrence of "the" between index 7 and index 11 is at index 10.

Комментарии

Этот метод выполняет поиск в одномерном массиве из элемента по индексу startIndex к последнему элементу.This method searches a one-dimensional array from the element at index startIndex to the last element. Чтобы определить, существует ли value в array, метод выполняет сравнение на равенство путем вызова метода Equals каждого элемента до тех пор, пока не будет найдено совпадение.To determine whether value exists in array, the method performs an equality comparison by calling the Equals method of every element until it finds a match. Это означает, что если элемент переопределяет метод Object.Equals(Object), вызывается это переопределение.This means that if the element overrides the Object.Equals(Object) method, that override is called.

Так как большинство массивов имеют нижнюю границу, равную нулю, этот метод обычно возвращает значение-1, если value не найден.Because most arrays have a lower bound of zero, this method generally returns -1 if value isn't found. В редких случаях, когда нижняя граница массива равна Int32.MinValue (0x80000000), а value не найдена, этот метод возвращает Int32.MaxValue (0x7FFFFFFF).In the rare case that the lower bound of the array is equal to Int32.MinValue(0x80000000) and value isn't found, this method returns Int32.MaxValue (0x7FFFFFFF).

Если startIndex равно Array.Length, метод возвращает значение-1.If startIndex equals Array.Length,the method returns -1. Если startIndex больше Array.Length, метод создает исключение ArgumentOutOfRangeException.If startIndex is greater than Array.Length, the method throws an ArgumentOutOfRangeException.

Этот метод является операцией O (n), где n — число элементов с startIndex до конца array.This method is an O(n) operation, where n is the number of elements from startIndex to the end of array.

Дополнительно

IndexOf(Array, Object, Int32, Int32)

Выполняет поиск указанного объекта в диапазоне элементов одномерного массива и возвращает индекс первого найденного совпадения.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of ifs first occurrence. Диапазон расширяется от указанного индекса заданного числа элементов.The range extends from a specified index for a specified number of elements.

public:
 static int IndexOf(Array ^ array, System::Object ^ value, int startIndex, int count);
public static int IndexOf (Array array, object value, int startIndex, int count);
static member IndexOf : Array * obj * int * int -> int

Параметры

array
Array

Одномерный массив для поиска.The one-dimensional array to search.

value
Object

Объект, который требуется найти в array.The object to locate in array.

startIndex
Int32

Начальный индекс поиска.The starting index of the search. Значение 0 (ноль) действительно в пустом массиве.0 (zero) is valid in an empty array.

count
Int32

Число искомых элементов.The number of elements to search.

Возвраты

Индекс первого вхождения значения value в диапазоне элементов массива array, начинающемся с индекса startIndex и заканчивающемся элементом с индексом startIndex + count — 1, если значение найдено. В противном случае нижняя граница массива минус 1.The index of the first occurrence of value, if it's found in the array from index startIndex to startIndex + count - 1; otherwise, the lower bound of the array minus 1.

Исключения

Свойство array имеет значение null.array is null.

startIndex находится вне диапазона допустимых индексов для array.startIndex is outside the range of valid indexes for array.

- или --or- Значение параметра count меньше нуля.count is less than zero.

- или --or- startIndex и count не указывают допустимый раздел в array.startIndex and count do not specify a valid section in array.

Массив array является многомерным.array is multidimensional.

Примеры

В примере вызываются следующие три перегрузки метода IndexOf для поиска индекса строки в массиве строк:The example calls the following three overloads of the IndexOf method to find the index of a string in a string array:

  • IndexOf(Array, Object), чтобы определить первое вхождение строки «The» в массив строк.IndexOf(Array, Object), to determine the first occurrence of the string "the" in a string array.

  • IndexOf(Array, Object, Int32), чтобы определить первое вхождение строки "The" в четвертой части к последним элементам массива строк.IndexOf(Array, Object, Int32), to determine the first occurrence of the string "the" in the fourth to the last elements of a string array.

  • IndexOf(Array, Object, Int32, Int32), чтобы определить первое вхождение строки «The» в массив строк из элемента, следующего за последним успешным сопоставлением с концом массива.IndexOf(Array, Object, Int32, Int32), to determine the first occurrence of the string "the" in a string array from the element that follows the last successful match to the end of the array. Чтобы определить значение аргумента count, он вычитает верхнюю границу массива из начального индекса и добавляет его.To determine the value of the count argument, it subtracts the upper bound of the array from the starting index and adds one.

using namespace System;

void main()
{
   // Create a string array with 3 elements having the same value.
   array<String^>^ strings = { "the", "quick", "brown", "fox",
                               "jumps", "over", "the", "lazy", "dog",
                               "in", "the", "barn" };

   // Display the elements of the array.
   Console::WriteLine("The array contains the following values:");
   for (int i = strings->GetLowerBound(0); i <= strings->GetUpperBound(0); i++)
      Console::WriteLine("   [{0,2}]: {1}", i, strings[i]);
      
   // Search for the first occurrence of the duplicated value.
   String^ searchString =  "the";
   int index = Array::IndexOf(strings, searchString);
   Console::WriteLine("The first occurrence of \"{0}\" is at index {1}.",
                      searchString, index);

   // Search for the first occurrence of the duplicated value in the last section of the array.
   index = Array::IndexOf( strings, searchString, 4);
   Console::WriteLine("The first occurrence of \"{0}\" between index 4 and the end is at index {1}.",
                      searchString, index);

   // Search for the first occurrence of the duplicated value in a section of the array.
   int position = index + 1;
   index = Array::IndexOf(strings, searchString, position, strings->GetUpperBound(0) - position + 1);
   Console::WriteLine("The first occurrence of \"{0}\" between index {1} and index {2} is at index {3}.",
                      searchString, position, strings->GetUpperBound(0), index);
}
// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.
using System;

public class Example
{
    public static void Main()
    {
       // Create a string array with 3 elements having the same value.
       String[] strings = { "the", "quick", "brown", "fox", "jumps",
                            "over", "the", "lazy", "dog", "in", "the",
                            "barn" };

       // Display the elements of the array.
       Console.WriteLine("The array contains the following values:");
       for (int i = strings.GetLowerBound(0); i <= strings.GetUpperBound(0); i++)
          Console.WriteLine("   [{0,2}]: {1}", i, strings[i]);

       // Search for the first occurrence of the duplicated value.
       String searchString = "the";
       int index = Array.IndexOf(strings, searchString);
       Console.WriteLine("The first occurrence of \"{0}\" is at index {1}.",
                         searchString, index);
 
       // Search for the first occurrence of the duplicated value in the last section of the array.
       index = Array.IndexOf(strings, searchString, 4);
       Console.WriteLine("The first occurrence of \"{0}\" between index 4 and the end is at index {1}.",
                         searchString, index);
 
       // Search for the first occurrence of the duplicated value in a section of the array.
       int position = index + 1;
       index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1);
       Console.WriteLine("The first occurrence of \"{0}\" between index {1} and index {2} is at index {3}.",
                         searchString, position, strings.GetUpperBound(0), index);
    }
 }
// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.
Public Module Example
   Public Sub Main()
      ' Create a string array with 3 elements having the same value.
      Dim strings() As String = { "the", "quick", "brown", "fox",
                                  "jumps", "over", "the", "lazy",
                                  "dog", "in", "the", "barn" }

      ' Display the values of the array.
      Console.WriteLine("The array contains the following values:")
      For i As Integer = strings.GetLowerBound(0) To strings.GetUpperBound(0)
         Console.WriteLine("   [{0,2}]: {1}", i, strings(i))
      Next

      ' Search for the first occurrence of the duplicated value.
      Dim searchString As String = "the"
      Dim index As Integer = Array.IndexOf(strings, searchString)
      Console.WriteLine("The first occurrence of ""{0}"" is at index {1}.",
                        searchString, index)
        
      ' Search for the first occurrence of the duplicated value in the last section of the array.
      index = Array.IndexOf(strings, searchString, 4)
      Console.WriteLine("The first occurrence of ""{0}"" between index 4 and the end is at index {1}.",
                        searchString, index)
        
      ' Search for the first occurrence of the duplicated value in a section of the array.
       Dim position As Integer = index + 1
       index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1)
       Console.WriteLine("The first occurrence of ""{0}"" between index {1} and index {2} is at index {3}.",
                         searchString, position, strings.GetUpperBound(0), index)
    End Sub
End Module
' The example displays the following output:
'    The array contains the following values:
'       [ 0]: the
'       [ 1]: quick
'       [ 2]: brown
'       [ 3]: fox
'       [ 4]: jumps
'       [ 5]: over
'       [ 6]: the
'       [ 7]: lazy
'       [ 8]: dog
'       [ 9]: in
'       [10]: the
'       [11]: barn
'    The first occurrence of "the" is at index 0.
'    The first occurrence of "the" between index 4 and the end is at index 6.
'    The first occurrence of "the" between index 7 and index 11 is at index 10.

Комментарии

Этот метод выполняет поиск элементов одномерного массива от startIndex до startIndex плюс count минус 1, если count больше 0.This method searches the elements of a one-dimensional array from startIndex to startIndex plus count minus 1, if count is greater than 0. Чтобы определить, существует ли value в array, метод выполняет сравнение на равенство путем вызова метода Equals каждого элемента до тех пор, пока не будет найдено совпадение.To determine whether value exists in array, the method performs an equality comparison by calling the Equals method of every element until it finds a match. Это означает, что если элемент переопределяет метод Object.Equals, вызывается это переопределение.This means that if the element overrides the Object.Equals method, that override is called.

Так как большинство массивов имеют нижнюю границу, равную нулю, этот метод обычно возвращает значение-1, если value не найден.Because most arrays have a lower bound of zero, this method generally returns -1 when value isn't found. В редких случаях, когда нижняя граница массива равна Int32.MinValue (0x80000000), а value не найдена, этот метод возвращает Int32.MaxValue (0x7FFFFFFF).In the rare case that the lower bound of the array is equal to Int32.MinValue (0x80000000) and value isn't found, this method returns Int32.MaxValue (0x7FFFFFFF).

Если startindex равно Array.Length, метод возвращает значение-1.If startindex equals Array.Length, the method returns -1. Если startIndex больше Array.Length, метод создает исключение ArgumentOutOfRangeException.If startIndex is greater than Array.Length, the method throws an ArgumentOutOfRangeException.

Этот метод является операцией O (n), где ncount.This method is an O(n) operation, where n is count.

Дополнительно

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

Выполняет поиск указанного объекта в диапазоне элементов одномерного массива и возвращает индекс первого найденного совпадения.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. Диапазон расширяется от указанного индекса заданного числа элементов.The range extends from a specified index for a specified number of elements.

public:
generic <typename T>
 static int IndexOf(cli::array <T> ^ array, T value, int startIndex, int count);
public static int IndexOf<T> (T[] array, T value, int startIndex, int count);
static member IndexOf : 'T[] * 'T * int * int -> int
Public Shared Function IndexOf(Of T) (array As T(), value As T, startIndex As Integer, count As Integer) As Integer

Параметры типа

T

Тип элементов массива.The type of the elements of the array.

Параметры

array
T[]

Индексируемый от нуля одномерный массив, в котором выполняется поиск.The one-dimensional, zero-based array to search.

value
T

Объект, который требуется найти в array.The object to locate in array.

startIndex
Int32

Индекс (с нуля) начальной позиции поиска.The zero-based starting index of the search. Значение 0 (ноль) действительно в пустом массиве.0 (zero) is valid in an empty array.

count
Int32

Число элементов в диапазоне, в котором выполняется поиск.The number of elements in the section to search.

Возвраты

Отсчитываемый от нуля индекс первого вхождения value в диапазоне элементов массива array, который начинается с позиции startIndex и содержит количество элементов, указанное в count, если искомый объект найден; в противном случае — значение –1.The zero-based index of the first occurrence of value within the range of elements in array that starts at startIndex and contains the number of elements specified in count, if found; otherwise, -1.

Исключения

Свойство array имеет значение null.array is null.

startIndex находится вне диапазона допустимых индексов для array.startIndex is outside the range of valid indexes for array.

- или --or- Значение параметра count меньше нуля.count is less than zero.

- или --or- startIndex и count не указывают допустимый раздел в array.startIndex and count do not specify a valid section in array.

Примеры

В следующем примере показаны все три универсальных перегрузки метода IndexOf.The following example demonstrates all three generic overloads of the IndexOf method. Создается массив строк с одной записью, которая появляется дважды, в позиции индекса 0 и позиции индекса 5.An array of strings is created, with one entry that appears twice, at index location 0 and index location 5. Перегрузка метода IndexOf<T>(T[], T) выполняет поиск в массиве начиная с начала и находит первое вхождение строки.The IndexOf<T>(T[], T) method overload searches the array from the beginning, and finds the first occurrence of the string. Перегрузка метода IndexOf<T>(T[], T, Int32) используется для поиска массива, начинающегося с позиции индекса 3, и продолжения до конца массива и находит второе вхождение строки.The IndexOf<T>(T[], T, Int32) method overload is used to search the array beginning with index location 3 and continuing to the end of the array, and finds the second occurrence of the string. Наконец, перегрузка метода IndexOf<T>(T[], T, Int32, Int32) используется для поиска в диапазоне двух записей, начиная с позиции индекса два; Он возвращает значение-1, поскольку в этом диапазоне отсутствуют экземпляры строки поиска.Finally, the IndexOf<T>(T[], T, Int32, Int32) method overload is used to search a range of two entries, beginning at index location two; it returns -1 because there are no instances of the search string in that range.

using namespace System;

void main()
{
    array<String^>^ dinosaurs = { "Tyrannosaurus", 
        "Amargasaurus",
        "Mamenchisaurus",
        "Brachiosaurus",
        "Deinonychus",
        "Tyrannosaurus",
        "Compsognathus" };

    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs )
    {
        Console::WriteLine(dinosaur);
    }

    Console::WriteLine("\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): {0}", 
        Array::IndexOf(dinosaurs, "Tyrannosaurus"));

    Console::WriteLine("\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): {0}", 
        Array::IndexOf(dinosaurs, "Tyrannosaurus", 3));

    Console::WriteLine("\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): {0}", 
        Array::IndexOf(dinosaurs, "Tyrannosaurus", 2, 2));
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
 */
using System;

public class Example
{
    public static void Main()
    {
        string[] dinosaurs = { "Tyrannosaurus",
            "Amargasaurus",
            "Mamenchisaurus",
            "Brachiosaurus",
            "Deinonychus",
            "Tyrannosaurus",
            "Compsognathus" };

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine(
            "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): {0}", 
            Array.IndexOf(dinosaurs, "Tyrannosaurus"));

        Console.WriteLine(
            "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): {0}", 
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 3));

        Console.WriteLine(
            "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): {0}", 
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2));
    }
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
 */
Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs() As String = { "Tyrannosaurus", _
            "Amargasaurus", _
            "Mamenchisaurus", _
            "Brachiosaurus", _
            "Deinonychus", _
            "Tyrannosaurus", _
            "Compsognathus" }

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        Console.WriteLine(vbLf & _
            "Array.IndexOf(dinosaurs, ""Tyrannosaurus""): {0}", _
            Array.IndexOf(dinosaurs, "Tyrannosaurus"))

        Console.WriteLine(vbLf & _
            "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 3): {0}", _
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 3))

        Console.WriteLine(vbLf & _
            "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 2, 2): {0}", _
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2))

    End Sub
End Class

' This code example produces the following output:
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Deinonychus
'Tyrannosaurus
'Compsognathus
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1

Комментарии

Этот метод выполняет поиск элементов одномерного массива от startIndex до startIndex плюс count минус 1, если count больше 0.This method searches the elements of a one-dimensional array from startIndex to startIndex plus count minus 1, if count is greater than 0. Чтобы определить, существует ли value в array, метод выполняет сравнение на равенство, вызывая метод T.Equals для каждого элемента.To determine whether value exists in array, the method performs an equality comparison by calling the T.Equals method on every element. Это означает, что если T переопределяет метод Equals, вызывается это переопределение.This means that if T overrides the Equals method, that override is called.

Если startIndex равно Array.Length, метод возвращает значение-1.If startIndex equals Array.Length, the method returns -1. Если startIndex больше Array.Length, метод создает исключение ArgumentOutOfRangeException.If startIndex is greater than Array.Length, the method throws an ArgumentOutOfRangeException.

Этот метод является операцией O (n), где ncount.This method is an O(n) operation, where n is count.

Дополнительно

IndexOf<T>(T[], T)

Выполняет поиск указанного объекта внутри всего одномерного массива и возвращает индекс его первого вхождения.Searches for the specified object and returns the index of its first occurrence in a one-dimensional array.

public:
generic <typename T>
 static int IndexOf(cli::array <T> ^ array, T value);
public static int IndexOf<T> (T[] array, T value);
static member IndexOf : 'T[] * 'T -> int
Public Shared Function IndexOf(Of T) (array As T(), value As T) As Integer

Параметры типа

T

Тип элементов массива.The type of the elements of the array.

Параметры

array
T[]

Индексируемый от нуля одномерный массив, в котором выполняется поиск.The one-dimensional, zero-based array to search.

value
T

Объект, который требуется найти в array.The object to locate in array.

Возвраты

Отсчитываемый от нуля индекс первого вхождения объекта value во всем массиве array; в противном случае — значение –1.The zero-based index of the first occurrence of value in the entire array, if found; otherwise, -1.

Исключения

Свойство array имеет значение null.array is null.

Примеры

В следующем примере показаны все три универсальных перегрузки метода IndexOf.The following example demonstrates all three generic overloads of the IndexOf method. Создается массив строк с одной записью, которая появляется дважды, в позиции индекса 0 и позиции индекса 5.An array of strings is created, with one entry that appears twice, at index location 0 and index location 5. Перегрузка метода IndexOf<T>(T[], T) выполняет поиск в массиве начиная с начала и находит первое вхождение строки.The IndexOf<T>(T[], T) method overload searches the array from the beginning, and finds the first occurrence of the string. Перегрузка метода IndexOf<T>(T[], T, Int32) используется для поиска массива, начинающегося с позиции индекса 3, и продолжения до конца массива и находит второе вхождение строки.The IndexOf<T>(T[], T, Int32) method overload is used to search the array beginning with index location 3 and continuing to the end of the array, and finds the second occurrence of the string. Наконец, перегрузка метода IndexOf<T>(T[], T, Int32, Int32) используется для поиска в диапазоне двух записей, начиная с позиции индекса два; Он возвращает значение-1, поскольку в этом диапазоне отсутствуют экземпляры строки поиска.Finally, the IndexOf<T>(T[], T, Int32, Int32) method overload is used to search a range of two entries, beginning at index location two; it returns -1 because there are no instances of the search string in that range.

using namespace System;

void main()
{
    array<String^>^ dinosaurs = { "Tyrannosaurus", 
        "Amargasaurus",
        "Mamenchisaurus",
        "Brachiosaurus",
        "Deinonychus",
        "Tyrannosaurus",
        "Compsognathus" };

    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs )
    {
        Console::WriteLine(dinosaur);
    }

    Console::WriteLine("\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): {0}", 
        Array::IndexOf(dinosaurs, "Tyrannosaurus"));

    Console::WriteLine("\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): {0}", 
        Array::IndexOf(dinosaurs, "Tyrannosaurus", 3));

    Console::WriteLine("\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): {0}", 
        Array::IndexOf(dinosaurs, "Tyrannosaurus", 2, 2));
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
 */
using System;

public class Example
{
    public static void Main()
    {
        string[] dinosaurs = { "Tyrannosaurus",
            "Amargasaurus",
            "Mamenchisaurus",
            "Brachiosaurus",
            "Deinonychus",
            "Tyrannosaurus",
            "Compsognathus" };

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine(
            "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): {0}", 
            Array.IndexOf(dinosaurs, "Tyrannosaurus"));

        Console.WriteLine(
            "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): {0}", 
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 3));

        Console.WriteLine(
            "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): {0}", 
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2));
    }
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
 */
Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs() As String = { "Tyrannosaurus", _
            "Amargasaurus", _
            "Mamenchisaurus", _
            "Brachiosaurus", _
            "Deinonychus", _
            "Tyrannosaurus", _
            "Compsognathus" }

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        Console.WriteLine(vbLf & _
            "Array.IndexOf(dinosaurs, ""Tyrannosaurus""): {0}", _
            Array.IndexOf(dinosaurs, "Tyrannosaurus"))

        Console.WriteLine(vbLf & _
            "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 3): {0}", _
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 3))

        Console.WriteLine(vbLf & _
            "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 2, 2): {0}", _
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2))

    End Sub
End Class

' This code example produces the following output:
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Deinonychus
'Tyrannosaurus
'Compsognathus
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1

Комментарии

Этот метод ищет все элементы одномерного массива для value.This method searches all the elements of a one-dimensional array for value. Чтобы определить, существует ли value в array, метод выполняет сравнение на равенство, вызывая метод T.Equals для каждого элемента.To determine whether value exists in array, the method performs an equality comparison by calling the T.Equals method on every element. Это означает, что если T переопределяет метод Equals, вызывается это переопределение.This means that if T overrides the Equals method, that override is called.

Этот метод является операцией O (n), где n является Length из array.This method is an O(n) operation, where n is the Length of array.

Дополнительно

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

Выполняет поиск указанного объекта в диапазоне элементов одномерного массива и возвращает индекс первого найденного совпадения.Searches for the specified object in a range of elements of a one dimensional array, and returns the index of its first occurrence. Диапазон начинается с указанного индекса и заканчивается концом массива.The range extends from a specified index to the end of the array.

public:
generic <typename T>
 static int IndexOf(cli::array <T> ^ array, T value, int startIndex);
public static int IndexOf<T> (T[] array, T value, int startIndex);
static member IndexOf : 'T[] * 'T * int -> int
Public Shared Function IndexOf(Of T) (array As T(), value As T, startIndex As Integer) As Integer

Параметры типа

T

Тип элементов массива.The type of the elements of the array.

Параметры

array
T[]

Индексируемый от нуля одномерный массив, в котором выполняется поиск.The one-dimensional, zero-based array to search.

value
T

Объект, который требуется найти в array.The object to locate in array.

startIndex
Int32

Индекс (с нуля) начальной позиции поиска.The zero-based starting index of the search. Значение 0 (ноль) действительно в пустом массиве.0 (zero) is valid in an empty array.

Возвраты

Отсчитываемый от нуля индекс первого вхождения элемента value в диапазоне элементов списка array, начиная с позиции startIndex и до конца списка, если элемент найден; в противном случае — значение –1.The zero-based index of the first occurrence of value within the range of elements in array that extends from startIndex to the last element, if found; otherwise, -1.

Исключения

Свойство array имеет значение null.array is null.

startIndex находится вне диапазона допустимых индексов для array.startIndex is outside the range of valid indexes for array.

Примеры

В следующем примере показаны все три универсальных перегрузки метода IndexOf.The following example demonstrates all three generic overloads of the IndexOf method. Создается массив строк с одной записью, которая появляется дважды, в позиции индекса 0 и позиции индекса 5.An array of strings is created, with one entry that appears twice, at index location 0 and index location 5. Перегрузка метода IndexOf<T>(T[], T) выполняет поиск в массиве начиная с начала и находит первое вхождение строки.The IndexOf<T>(T[], T) method overload searches the array from the beginning, and finds the first occurrence of the string. Перегрузка метода IndexOf<T>(T[], T, Int32) используется для поиска массива, начинающегося с позиции индекса 3, и продолжения до конца массива и находит второе вхождение строки.The IndexOf<T>(T[], T, Int32) method overload is used to search the array beginning with index location 3 and continuing to the end of the array, and finds the second occurrence of the string. Наконец, перегрузка метода IndexOf<T>(T[], T, Int32, Int32) используется для поиска в диапазоне двух записей, начиная с позиции индекса два; Он возвращает значение-1, поскольку в этом диапазоне отсутствуют экземпляры строки поиска.Finally, the IndexOf<T>(T[], T, Int32, Int32) method overload is used to search a range of two entries, beginning at index location two; it returns -1 because there are no instances of the search string in that range.

using namespace System;

void main()
{
    array<String^>^ dinosaurs = { "Tyrannosaurus", 
        "Amargasaurus",
        "Mamenchisaurus",
        "Brachiosaurus",
        "Deinonychus",
        "Tyrannosaurus",
        "Compsognathus" };

    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs )
    {
        Console::WriteLine(dinosaur);
    }

    Console::WriteLine("\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): {0}", 
        Array::IndexOf(dinosaurs, "Tyrannosaurus"));

    Console::WriteLine("\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): {0}", 
        Array::IndexOf(dinosaurs, "Tyrannosaurus", 3));

    Console::WriteLine("\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): {0}", 
        Array::IndexOf(dinosaurs, "Tyrannosaurus", 2, 2));
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
 */
using System;

public class Example
{
    public static void Main()
    {
        string[] dinosaurs = { "Tyrannosaurus",
            "Amargasaurus",
            "Mamenchisaurus",
            "Brachiosaurus",
            "Deinonychus",
            "Tyrannosaurus",
            "Compsognathus" };

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine(
            "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): {0}", 
            Array.IndexOf(dinosaurs, "Tyrannosaurus"));

        Console.WriteLine(
            "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): {0}", 
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 3));

        Console.WriteLine(
            "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): {0}", 
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2));
    }
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
 */
Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs() As String = { "Tyrannosaurus", _
            "Amargasaurus", _
            "Mamenchisaurus", _
            "Brachiosaurus", _
            "Deinonychus", _
            "Tyrannosaurus", _
            "Compsognathus" }

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        Console.WriteLine(vbLf & _
            "Array.IndexOf(dinosaurs, ""Tyrannosaurus""): {0}", _
            Array.IndexOf(dinosaurs, "Tyrannosaurus"))

        Console.WriteLine(vbLf & _
            "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 3): {0}", _
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 3))

        Console.WriteLine(vbLf & _
            "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 2, 2): {0}", _
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2))

    End Sub
End Class

' This code example produces the following output:
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Deinonychus
'Tyrannosaurus
'Compsognathus
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1

Комментарии

Этот метод выполняет поиск одномерного массива из элемента с startIndex до конца массива.This method searches a one-dimensional array from the element at startIndex to the end of the array. Чтобы определить, существует ли value в array, метод выполняет сравнение на равенство, вызывая метод T.Equals для каждого элемента.To determine whether value exists in array, the method performs an equality comparison by calling the T.Equals method on every element. Это означает, что если T переопределяет метод Equals, вызывается это переопределение.This means that if T overrides the Equals method, that override is called.

Если startIndex равно Length, метод возвращает -1. Если startIndex больше Array.Length, метод выдает исключение ArgumentOutOfRangeException.If startIndex equals Length,the method returns -1.If startIndex is greater than Array.Length, the method throws an ArgumentOutOfRangeException.

Этот метод является операцией O (n), где n — число элементов с startIndex до конца array.This method is an O(n) operation, where n is the number of elements from startIndex to the end of array.

Дополнительно

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