Array.IndexOf Metoda

Definicja

Wyszukuje określony obiekt i zwraca indeks jego pierwszego wystąpienia w tablicy jednowymiarowej lub w zakresie elementów w tablicy.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.

Przeciążenia

IndexOf(Array, Object)

Wyszukuje określony obiekt i zwraca indeks jego pierwszego wystąpienia w tablicy jednowymiarowej.Searches for the specified object and returns the index of its first occurrence in a one-dimensional array.

IndexOf(Array, Object, Int32)

Wyszukuje określony obiekt w zakresie elementów tablicy jednowymiarowej i zwraca indeks pierwszego wystąpienia.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. Zakres rozciąga się od określonego indeksu do końca tablicy.The range extends from a specified index to the end of the array.

IndexOf(Array, Object, Int32, Int32)

Wyszukuje określony obiekt w zakresie elementów tablicy jednowymiarowej i zwraca indeks pierwszego wystąpienia IFS.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of ifs first occurrence. Zakres rozciąga się od określonego indeksu dla określonej liczby elementów.The range extends from a specified index for a specified number of elements.

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

Wyszukuje określony obiekt w zakresie elementów tablicy jednowymiarowej i zwraca indeks pierwszego wystąpienia.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. Zakres rozciąga się od określonego indeksu dla określonej liczby elementów.The range extends from a specified index for a specified number of elements.

IndexOf<T>(T[], T)

Wyszukuje określony obiekt i zwraca indeks jego pierwszego wystąpienia w tablicy jednowymiarowej.Searches for the specified object and returns the index of its first occurrence in a one-dimensional array.

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

Wyszukuje określony obiekt w zakresie elementów tablicy jednowymiarowej i zwraca indeks pierwszego wystąpienia.Searches for the specified object in a range of elements of a one dimensional array, and returns the index of its first occurrence. Zakres rozciąga się od określonego indeksu do końca tablicy.The range extends from a specified index to the end of the array.

IndexOf(Array, Object)

Wyszukuje określony obiekt i zwraca indeks jego pierwszego wystąpienia w tablicy jednowymiarowej.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

Parametry

array
Array

Tablica Jednowymiarowa do przeszukania.The one-dimensional array to search.

value
Object

Obiekt, który ma zostać zlokalizowany w array.The object to locate in array.

Zwraca

Indeks pierwszego wystąpienia value w array, jeśli znaleziono; w przeciwnym razie Dolna granica tablicy minus 1.The index of the first occurrence of value in array, if found; otherwise, the lower bound of the array minus 1.

Wyjątki

Parametr array ma wartość null.array is null.

Parametr array jest wielowymiarowy.array is multidimensional.

Przykłady

Przykład wywołuje następujące trzy przeciążenia metody IndexOf, aby znaleźć indeks ciągu w tablicy ciągów:The example calls the following three overloads of the IndexOf method to find the index of a string in a string 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.

Uwagi

Ta metoda przeszukuje wszystkie elementy jednowymiarowej tablicy dla value.This method searches all the elements of a one-dimensional array for value. Aby określić, czy value istnieje w array, Metoda wykonuje porównanie równości poprzez wywoływanie metody Equals każdego elementu do momentu znalezienia dopasowania.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. Oznacza to, że jeśli element zastępuje metodę Object.Equals(Object), to zastępowanie jest wywoływane.This means that if the element overrides the Object.Equals(Object) method, that override is called.

Ponieważ większość tablic ma dolną granicę zero, ta metoda zwykle zwraca wartość-1, jeśli nie można odnaleźćvalue.Because most arrays have a lower bound of zero, this method generally returns -1 ifvalue isn't found. W rzadkich przypadkach Dolna granica tablicy jest równa Int32.MinValue(0x80000000) i nie znaleziono value, Metoda ta zwraca 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).

Ta metoda jest operacją O (n), gdzie n jest Length array.This method is an O(n) operation, where n is the Length of array.

Zobacz też

IndexOf(Array, Object, Int32)

Wyszukuje określony obiekt w zakresie elementów tablicy jednowymiarowej i zwraca indeks pierwszego wystąpienia.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. Zakres rozciąga się od określonego indeksu do końca tablicy.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

Parametry

array
Array

Tablica Jednowymiarowa do przeszukania.The one-dimensional array to search.

value
Object

Obiekt, który ma zostać zlokalizowany w array.The object to locate in array.

startIndex
Int32

Początkowy indeks wyszukiwania.The starting index of the search. 0 (zero) jest prawidłową wartością w pustej tablicy.0 (zero) is valid in an empty array.

Zwraca

Indeks pierwszego wystąpienia value, jeśli znajduje się w zakresie elementów w array, który rozciąga się od startIndex do ostatniego elementu; w przeciwnym razie Dolna granica tablicy minus 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.

Wyjątki

Parametr array ma wartość null.array is null.

startIndex znajduje się poza zakresem prawidłowych indeksów dla array.startIndex is outside the range of valid indexes for array.

Parametr array jest wielowymiarowy.array is multidimensional.

Przykłady

Przykład wywołuje następujące trzy przeciążenia metody IndexOf, aby znaleźć indeks ciągu w tablicy ciągów:The example calls the following three overloads of the IndexOf method to find the index of a string in a string 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.

Uwagi

Ta metoda przeszukuje tablicę jednowymiarową z elementu pod indeksem startIndex do ostatniego elementu.This method searches a one-dimensional array from the element at index startIndex to the last element. Aby określić, czy value istnieje w array, Metoda wykonuje porównanie równości przez wywołanie metody Equals każdego elementu, dopóki nie znajdzie dopasowania.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. Oznacza to, że jeśli element zastępuje metodę Object.Equals(Object), to zastępowanie jest wywoływane.This means that if the element overrides the Object.Equals(Object) method, that override is called.

Ponieważ większość tablic ma dolną granicę zero, ta metoda zwykle zwraca wartość-1, jeśli nie można odnaleźć value.Because most arrays have a lower bound of zero, this method generally returns -1 if value isn't found. W rzadkich przypadkach Dolna granica tablicy jest równa Int32.MinValue(0x80000000) i nie znaleziono value, Metoda ta zwraca 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).

Jeśli startIndex jest równe Array.Length, metoda zwróci wartość-1.If startIndex equals Array.Length,the method returns -1. Jeśli startIndex jest większa niż Array.Length, metoda zgłasza ArgumentOutOfRangeException.If startIndex is greater than Array.Length, the method throws an ArgumentOutOfRangeException.

Ta metoda jest operacją O (n), gdzie n jest liczbą elementów od startIndex do końca array.This method is an O(n) operation, where n is the number of elements from startIndex to the end of array.

Zobacz też

IndexOf(Array, Object, Int32, Int32)

Wyszukuje określony obiekt w zakresie elementów tablicy jednowymiarowej i zwraca indeks pierwszego wystąpienia IFS.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of ifs first occurrence. Zakres rozciąga się od określonego indeksu dla określonej liczby elementów.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

Parametry

array
Array

Tablica Jednowymiarowa do przeszukania.The one-dimensional array to search.

value
Object

Obiekt, który ma zostać zlokalizowany w array.The object to locate in array.

startIndex
Int32

Początkowy indeks wyszukiwania.The starting index of the search. 0 (zero) jest prawidłową wartością w pustej tablicy.0 (zero) is valid in an empty array.

count
Int32

Liczba elementów do wyszukania.The number of elements to search.

Zwraca

Indeks pierwszego wystąpienia value, jeśli znajduje się w array z indeksu startIndex do startIndex + count-1; w przeciwnym razie Dolna granica tablicy minus 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.

Wyjątki

Parametr array ma wartość null.array is null.

startIndex znajduje się poza zakresem prawidłowych indeksów dla array.startIndex is outside the range of valid indexes for array.

lub-or- Parametr count ma wartość niższą niż zero.count is less than zero.

lub-or- startIndex i count nie określają prawidłowej sekcji w array.startIndex and count do not specify a valid section in array.

Parametr array jest wielowymiarowy.array is multidimensional.

Przykłady

Przykład wywołuje następujące trzy przeciążenia metody IndexOf, aby znaleźć indeks ciągu w tablicy ciągów: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), aby określić pierwsze wystąpienie ciągu "The" w tablicy ciągów.IndexOf(Array, Object), to determine the first occurrence of the string "the" in a string array.

  • IndexOf(Array, Object, Int32), aby określić pierwsze wystąpienie ciągu "a" w czwarty do ostatniego elementu tablicy ciągów.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), aby określić pierwsze wystąpienie ciągu "The" w tablicy ciągów od elementu, który następuje po ostatnim pomyślnym dopasowaniu do końca tablicy.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. Aby określić wartość argumentu count, odejmuje górną granicę tablicy od początkowego indeksu i dodaje ją.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.

Uwagi

Ta metoda przeszukuje elementy jednowymiarowej tablicy z startIndex do startIndex Plus count minus 1, jeśli count jest większa od 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. Aby określić, czy value istnieje w array, Metoda wykonuje porównanie równości przez wywołanie metody Equals każdego elementu, dopóki nie znajdzie dopasowania.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. Oznacza to, że jeśli element zastępuje metodę Object.Equals, to zastępowanie jest wywoływane.This means that if the element overrides the Object.Equals method, that override is called.

Ponieważ większość tablic ma dolną granicę zero, ta metoda zwykle zwraca wartość-1, jeśli nie można odnaleźć value.Because most arrays have a lower bound of zero, this method generally returns -1 when value isn't found. W rzadkich przypadkach Dolna granica tablicy jest równa Int32.MinValue (0x80000000) i nie znaleziono value, Metoda ta zwraca 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).

Jeśli startindex jest równe Array.Length, metoda zwróci wartość-1.If startindex equals Array.Length, the method returns -1. Jeśli startIndex jest większa niż Array.Length, metoda zgłasza ArgumentOutOfRangeException.If startIndex is greater than Array.Length, the method throws an ArgumentOutOfRangeException.

Ta metoda jest operacją O (n), gdzie n jest count.This method is an O(n) operation, where n is count.

Zobacz też

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

Wyszukuje określony obiekt w zakresie elementów tablicy jednowymiarowej i zwraca indeks pierwszego wystąpienia.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. Zakres rozciąga się od określonego indeksu dla określonej liczby elementów.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

Parametry typu

T

Typ elementów tablicy.The type of the elements of the array.

Parametry

array
T[]

Tablica Jednowymiarowa, która ma być wyszukiwana.The one-dimensional, zero-based array to search.

value
T

Obiekt, który ma zostać zlokalizowany w array.The object to locate in array.

startIndex
Int32

Wartość początkowa indeksu zaczynającego się od zera dla wyszukiwania.The zero-based starting index of the search. 0 (zero) jest prawidłową wartością w pustej tablicy.0 (zero) is valid in an empty array.

count
Int32

Liczba elementów w sekcji do wyszukania.The number of elements in the section to search.

Zwraca

Indeks (liczony od zera) pierwszego wystąpienia value w zakresie elementów w array, który jest uruchamiany w startIndex i zawiera liczbę elementów określonych w count, jeśli znaleziono; w przeciwnym razie-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.

Wyjątki

Parametr array ma wartość null.array is null.

startIndex znajduje się poza zakresem prawidłowych indeksów dla array.startIndex is outside the range of valid indexes for array.

lub-or- Parametr count ma wartość niższą niż zero.count is less than zero.

lub-or- startIndex i count nie określają prawidłowej sekcji w array.startIndex and count do not specify a valid section in array.

Przykłady

Poniższy przykład ilustruje wszystkie trzy ogólne przeciążenia metody IndexOf.The following example demonstrates all three generic overloads of the IndexOf method. Tablica ciągów jest tworzona, gdy jeden wpis, to pojawia się dwukrotnie, z lokalizacją indeksu 0 i lokalizacją indeksu 5.An array of strings is created, with one entry that appears twice, at index location 0 and index location 5. Przeciążenie metody IndexOf<T>(T[], T) przeszukuje tablicę od początku i odnajduje pierwsze wystąpienie ciągu.The IndexOf<T>(T[], T) method overload searches the array from the beginning, and finds the first occurrence of the string. Przeciążenie metody IndexOf<T>(T[], T, Int32) służy do wyszukiwania tablicy zaczynającej się od lokalizacji indeksu 3 i do końca tablicy i znajdowania drugiego wystąpienia ciągu.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. Na koniec Przeciążenie metody IndexOf<T>(T[], T, Int32, Int32) jest używany do wyszukiwania zakresu dwóch wpisów, zaczynając od lokalizacji indeksu dwa; Zwraca wartość-1, ponieważ w tym zakresie nie ma wystąpień ciągu wyszukiwania.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

Uwagi

Ta metoda przeszukuje elementy jednowymiarowej tablicy z startIndex do startIndex Plus count minus 1, jeśli count jest większa od 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. Aby określić, czy value istnieje w array, Metoda wykonuje porównanie równości przez wywołanie metody T.Equals dla każdego elementu.To determine whether value exists in array, the method performs an equality comparison by calling the T.Equals method on every element. Oznacza to, że jeśli T przesłania metodę Equals, to zastępowanie jest wywoływane.This means that if T overrides the Equals method, that override is called.

Jeśli startIndex jest równe Array.Length, metoda zwróci wartość-1.If startIndex equals Array.Length, the method returns -1. Jeśli startIndex jest większa niż Array.Length, metoda zgłasza ArgumentOutOfRangeException.If startIndex is greater than Array.Length, the method throws an ArgumentOutOfRangeException.

Ta metoda jest operacją O (n), gdzie n jest count.This method is an O(n) operation, where n is count.

Zobacz też

IndexOf<T>(T[], T)

Wyszukuje określony obiekt i zwraca indeks jego pierwszego wystąpienia w tablicy jednowymiarowej.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

Parametry typu

T

Typ elementów tablicy.The type of the elements of the array.

Parametry

array
T[]

Tablica Jednowymiarowa, która ma być wyszukiwana.The one-dimensional, zero-based array to search.

value
T

Obiekt, który ma zostać zlokalizowany w array.The object to locate in array.

Zwraca

Indeks (liczony od zera) pierwszego wystąpienia value w całej array, jeśli znaleziono; w przeciwnym razie-1.The zero-based index of the first occurrence of value in the entire array, if found; otherwise, -1.

Wyjątki

Parametr array ma wartość null.array is null.

Przykłady

Poniższy przykład ilustruje wszystkie trzy ogólne przeciążenia metody IndexOf.The following example demonstrates all three generic overloads of the IndexOf method. Tablica ciągów jest tworzona, gdy jeden wpis, to pojawia się dwukrotnie, z lokalizacją indeksu 0 i lokalizacją indeksu 5.An array of strings is created, with one entry that appears twice, at index location 0 and index location 5. Przeciążenie metody IndexOf<T>(T[], T) przeszukuje tablicę od początku i odnajduje pierwsze wystąpienie ciągu.The IndexOf<T>(T[], T) method overload searches the array from the beginning, and finds the first occurrence of the string. Przeciążenie metody IndexOf<T>(T[], T, Int32) służy do wyszukiwania tablicy zaczynającej się od lokalizacji indeksu 3 i do końca tablicy i znajdowania drugiego wystąpienia ciągu.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. Na koniec Przeciążenie metody IndexOf<T>(T[], T, Int32, Int32) jest używany do wyszukiwania zakresu dwóch wpisów, zaczynając od lokalizacji indeksu dwa; Zwraca wartość-1, ponieważ w tym zakresie nie ma wystąpień ciągu wyszukiwania.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

Uwagi

Ta metoda przeszukuje wszystkie elementy jednowymiarowej tablicy dla value.This method searches all the elements of a one-dimensional array for value. Aby określić, czy value istnieje w array, Metoda wykonuje porównanie równości przez wywołanie metody T.Equals dla każdego elementu.To determine whether value exists in array, the method performs an equality comparison by calling the T.Equals method on every element. Oznacza to, że jeśli T przesłania metodę Equals, to zastępowanie jest wywoływane.This means that if T overrides the Equals method, that override is called.

Ta metoda jest operacją O (n), gdzie n jest Length array.This method is an O(n) operation, where n is the Length of array.

Zobacz też

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

Wyszukuje określony obiekt w zakresie elementów tablicy jednowymiarowej i zwraca indeks pierwszego wystąpienia.Searches for the specified object in a range of elements of a one dimensional array, and returns the index of its first occurrence. Zakres rozciąga się od określonego indeksu do końca tablicy.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

Parametry typu

T

Typ elementów tablicy.The type of the elements of the array.

Parametry

array
T[]

Tablica Jednowymiarowa, która ma być wyszukiwana.The one-dimensional, zero-based array to search.

value
T

Obiekt, który ma zostać zlokalizowany w array.The object to locate in array.

startIndex
Int32

Wartość początkowa indeksu zaczynającego się od zera dla wyszukiwania.The zero-based starting index of the search. 0 (zero) jest prawidłową wartością w pustej tablicy.0 (zero) is valid in an empty array.

Zwraca

Indeks (liczony od zera) pierwszego wystąpienia value w zakresie elementów w array, który rozciąga się od startIndex do ostatniego elementu, jeśli znaleziono; w przeciwnym razie-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.

Wyjątki

Parametr array ma wartość null.array is null.

startIndex znajduje się poza zakresem prawidłowych indeksów dla array.startIndex is outside the range of valid indexes for array.

Przykłady

Poniższy przykład ilustruje wszystkie trzy ogólne przeciążenia metody IndexOf.The following example demonstrates all three generic overloads of the IndexOf method. Tablica ciągów jest tworzona, gdy jeden wpis, to pojawia się dwukrotnie, z lokalizacją indeksu 0 i lokalizacją indeksu 5.An array of strings is created, with one entry that appears twice, at index location 0 and index location 5. Przeciążenie metody IndexOf<T>(T[], T) przeszukuje tablicę od początku i odnajduje pierwsze wystąpienie ciągu.The IndexOf<T>(T[], T) method overload searches the array from the beginning, and finds the first occurrence of the string. Przeciążenie metody IndexOf<T>(T[], T, Int32) służy do wyszukiwania tablicy zaczynającej się od lokalizacji indeksu 3 i do końca tablicy i znajdowania drugiego wystąpienia ciągu.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. Na koniec Przeciążenie metody IndexOf<T>(T[], T, Int32, Int32) jest używany do wyszukiwania zakresu dwóch wpisów, zaczynając od lokalizacji indeksu dwa; Zwraca wartość-1, ponieważ w tym zakresie nie ma wystąpień ciągu wyszukiwania.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

Uwagi

Ta metoda przeszukuje tablicę jednowymiarową z elementu w startIndex do końca tablicy.This method searches a one-dimensional array from the element at startIndex to the end of the array. Aby określić, czy value istnieje w array, Metoda wykonuje porównanie równości przez wywołanie metody T.Equals dla każdego elementu.To determine whether value exists in array, the method performs an equality comparison by calling the T.Equals method on every element. Oznacza to, że jeśli T przesłania metodę Equals, to zastępowanie jest wywoływane.This means that if T overrides the Equals method, that override is called.

Jeśli startIndex jest równe Length, metoda zwraca -1. Jeśli startIndex jest większa niż Array.Length, metoda zgłasza ArgumentOutOfRangeException.If startIndex equals Length,the method returns -1.If startIndex is greater than Array.Length, the method throws an ArgumentOutOfRangeException.

Ta metoda jest operacją O (n), gdzie n jest liczbą elementów od startIndex do końca array.This method is an O(n) operation, where n is the number of elements from startIndex to the end of array.

Zobacz też

Dotyczy