Array.IndexOf Array.IndexOf Array.IndexOf Array.IndexOf Method

Definizione

Cerca l'oggetto specificato e restituisce l'indice della prima occorrenza in una matrice unidimensionale o in un intervallo di elementi nella matrice.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.

Overload

IndexOf(Array, Object) IndexOf(Array, Object) IndexOf(Array, Object)

Cerca l'oggetto specificato e restituisce l'indice della prima ricorrenza all'interno di una matrice unidimensionale.Searches for the specified object and returns the index of its first occurrence in a one-dimensional array.

IndexOf(Array, Object, Int32) IndexOf(Array, Object, Int32) IndexOf(Array, Object, Int32)

Cerca l'oggetto specificato in un intervallo di elementi di una matrice unidimensionale e restituisce l'indice della prima occorrenza.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. L'intervallo si estende da un indice specificato fino alla fine della matrice.The range extends from a specified index to the end of the array.

IndexOf(Array, Object, Int32, Int32) IndexOf(Array, Object, Int32, Int32) IndexOf(Array, Object, Int32, Int32)

Cerca l'oggetto specificato e restituisce l'indice della prima occorrenza in un intervallo di elementi di una matrice unidimensionale.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of ifs first occurrence. L'intervallo si estende da un indice specificato per un numero specificato di elementi.The range extends from a specified index for a specified number of elements.

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

Cerca l'oggetto specificato in un intervallo di elementi di una matrice unidimensionale e restituisce l'indice della prima occorrenza.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. L'intervallo si estende da un indice specificato per un numero specificato di elementi.The range extends from a specified index for a specified number of elements.

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

Cerca l'oggetto specificato e restituisce l'indice della prima ricorrenza all'interno di una matrice unidimensionale.Searches for the specified object and returns the index of its first occurrence in a one-dimensional array.

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

Cerca l'oggetto specificato in un intervallo di elementi di una matrice unidimensionale e restituisce l'indice della prima occorrenza.Searches for the specified object in a range of elements of a one dimensional array, and returns the index of its first occurrence. L'intervallo si estende da un indice specificato fino alla fine della matrice.The range extends from a specified index to the end of the array.

IndexOf(Array, Object) IndexOf(Array, Object) IndexOf(Array, Object)

Cerca l'oggetto specificato e restituisce l'indice della prima ricorrenza all'interno di una matrice unidimensionale.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

Parametri

array
Array Array Array Array

Matrice unidimensionale da cercare.The one-dimensional array to search.

value
Object Object Object Object

Oggetto da trovare in array.The object to locate in array.

Restituisce

Indice della prima occorrenza di value nell'oggetto array, se presente; in caso contrario, verrà restituito il limite inferiore della matrice meno 1.The index of the first occurrence of value in array, if found; otherwise, the lower bound of the array minus 1.

Eccezioni

array è multidimensionale.array is multidimensional.

Esempi

Nell'esempio vengono chiamati i tre overload del IndexOf metodo seguenti per trovare l'indice di una stringa in una matrice di stringhe: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), per determinare la prima occorrenza della stringa "The" in una matrice di stringhe.IndexOf(Array, Object), to determine the first occurrence of the string "the" in a string array.

  • IndexOf(Array, Object, Int32), per determinare la prima occorrenza della stringa "The" nel quarto agli ultimi elementi di una matrice di stringhe.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), per determinare la prima occorrenza della stringa "The" in una matrice di stringhe dall'elemento che segue l'ultima corrispondenza corretta alla fine della matrice.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.

Commenti

Questo metodo esegue una ricerca in tutti gli elementi di una matrice unidimensionale per value.This method searches all the elements of a one-dimensional array for value. Per determinare se value esiste in array, il metodo esegue un confronto Equals di uguaglianza chiamando il metodo di ogni elemento fino a quando non viene trovata una corrispondenza.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. Ciò significa che se l'elemento esegue l' Object.Equals(Object) override del metodo, tale override viene chiamato.This means that if the element overrides the Object.Equals(Object) method, that override is called.

Poiché la maggior parte delle matrici ha un limite inferiore pari a zero, questo metodo restituisce invalue genere-1 se non viene trovato.Because most arrays have a lower bound of zero, this method generally returns -1 ifvalue isn't found. Nel raro caso in cui il limite inferiore della matrice sia uguale a Int32.MinValue(0x80000000) e value non viene trovato, questo metodo restituisce 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).

Questo metodo è un'operazione On(), dove n è l' Length oggetto arraydi.This method is an O(n) operation, where n is the Length of array.

Vedi anche

IndexOf(Array, Object, Int32) IndexOf(Array, Object, Int32) IndexOf(Array, Object, Int32)

Cerca l'oggetto specificato in un intervallo di elementi di una matrice unidimensionale e restituisce l'indice della prima occorrenza.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. L'intervallo si estende da un indice specificato fino alla fine della matrice.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

Parametri

array
Array Array Array Array

Matrice unidimensionale da cercare.The one-dimensional array to search.

value
Object Object Object Object

Oggetto da trovare in array.The object to locate in array.

startIndex
Int32 Int32 Int32 Int32

Indice iniziale della ricerca.The starting index of the search. 0 (zero) è valido in una matrice vuota.0 (zero) is valid in an empty array.

Restituisce

Indice della prima occorrenza di value, se trovato, all'interno degli elementi nell'oggetto array che si estende da startIndex fino all'ultimo elemento; in caso contrario viene restituito il limite inferiore della matrice meno 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.

Eccezioni

startIndex non è compreso nell'intervallo di indici validi per array.startIndex is outside the range of valid indexes for array.

array è multidimensionale.array is multidimensional.

Esempi

Nell'esempio vengono chiamati i tre overload del IndexOf metodo seguenti per trovare l'indice di una stringa in una matrice di stringhe: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), per determinare la prima occorrenza della stringa "The" in una matrice di stringhe.IndexOf(Array, Object), to determine the first occurrence of the string "the" in a string array.

  • IndexOf(Array, Object, Int32), per determinare la prima occorrenza della stringa "The" nel quarto agli ultimi elementi di una matrice di stringhe.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), per determinare la prima occorrenza della stringa "The" in una matrice di stringhe dall'elemento che segue l'ultima corrispondenza corretta alla fine della matrice.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.

Commenti

Questo metodo esegue la ricerca di una matrice unidimensionale dall'elemento in startIndex corrispondenza dell'indice all'ultimo elemento.This method searches a one-dimensional array from the element at index startIndex to the last element. Per determinare se value esiste in array, il metodo esegue un confronto di uguaglianza chiamando il Equals metodo di ogni elemento fino a quando non viene trovata una corrispondenza.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. Ciò significa che se l'elemento esegue l' Object.Equals(Object) override del metodo, tale override viene chiamato.This means that if the element overrides the Object.Equals(Object) method, that override is called.

Poiché la maggior parte delle matrici ha un limite inferiore pari a zero, questo metodo restituisce in value genere-1 se non viene trovato.Because most arrays have a lower bound of zero, this method generally returns -1 if value isn't found. Nel raro caso in cui il limite inferiore della matrice sia uguale a Int32.MinValue(0x80000000) e value non viene trovato, questo metodo restituisce 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 SeArray.Lengthè uguale a, il metodo restituisce-1.If startIndex equals Array.Length,the method returns -1. Se startIndex è maggiore di Array.Length, il metodo genera un' ArgumentOutOfRangeExceptioneccezione.If startIndex is greater than Array.Length, the method throws an ArgumentOutOfRangeException.

Questo metodo è un'operazione On(), dove n è il numero di elementi da startIndex alla fine di array.This method is an O(n) operation, where n is the number of elements from startIndex to the end of array.

Vedi anche

IndexOf(Array, Object, Int32, Int32) IndexOf(Array, Object, Int32, Int32) IndexOf(Array, Object, Int32, Int32)

Cerca l'oggetto specificato e restituisce l'indice della prima occorrenza in un intervallo di elementi di una matrice unidimensionale.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of ifs first occurrence. L'intervallo si estende da un indice specificato per un numero specificato di elementi.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

Parametri

array
Array Array Array Array

Matrice unidimensionale da cercare.The one-dimensional array to search.

value
Object Object Object Object

Oggetto da trovare in array.The object to locate in array.

startIndex
Int32 Int32 Int32 Int32

Indice iniziale della ricerca.The starting index of the search. 0 (zero) è valido in una matrice vuota.0 (zero) is valid in an empty array.

count
Int32 Int32 Int32 Int32

Numero di elementi in cui eseguire la ricerca.The number of elements to search.

Restituisce

Indice della prima occorrenza di value, se trovato, nell'oggetto array dall'indice startIndex a startIndex + count - 1; in caso contrario viene restituito il limite inferiore della matrice meno 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.

Eccezioni

startIndex non è compreso nell'intervallo di indici validi per array.startIndex is outside the range of valid indexes for array.

-oppure--or- count è minore di zero.count is less than zero.

-oppure--or- startIndex e count non specificano una sezione valida in array.startIndex and count do not specify a valid section in array.

array è multidimensionale.array is multidimensional.

Esempi

Nell'esempio vengono chiamati i tre overload del IndexOf metodo seguenti per trovare l'indice di una stringa in una matrice di stringhe: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), per determinare la prima occorrenza della stringa "The" in una matrice di stringhe.IndexOf(Array, Object), to determine the first occurrence of the string "the" in a string array.

  • IndexOf(Array, Object, Int32), per determinare la prima occorrenza della stringa "The" nel quarto agli ultimi elementi di una matrice di stringhe.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), per determinare la prima occorrenza della stringa "The" in una matrice di stringhe dall'elemento che segue l'ultima corrispondenza corretta alla fine della matrice.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. Per determinare il valore dell' count argomento, sottrae il limite superiore della matrice dall'indice iniziale e ne aggiunge uno.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.

Commenti

Questo metodo esegue la ricerca degli elementi di una matrice unidimensionale startIndex da startIndex a count più meno 1, count se è maggiore di 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. Per determinare se value esiste in array, il metodo esegue un confronto di uguaglianza chiamando il Equals metodo di ogni elemento fino a quando non viene trovata una corrispondenza.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. Ciò significa che se l'elemento esegue l' Object.Equals override del metodo, tale override viene chiamato.This means that if the element overrides the Object.Equals method, that override is called.

Poiché la maggior parte delle matrici ha un limite inferiore pari a zero, questo metodo restituisce in value genere-1 se non viene trovato.Because most arrays have a lower bound of zero, this method generally returns -1 when value isn't found. Nel raro caso in cui il limite inferiore della matrice sia uguale a Int32.MinValue (0x80000000) e value non viene trovato, questo metodo restituisce 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 SeArray.Lengthè uguale a, il metodo restituisce-1.If startindex equals Array.Length, the method returns -1. Se startIndex è maggiore di Array.Length, il metodo genera un' ArgumentOutOfRangeExceptioneccezione.If startIndex is greater than Array.Length, the method throws an ArgumentOutOfRangeException.

Questo metodo è un'operazione On(), dove n è count.This method is an O(n) operation, where n is count.

Vedi anche

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

Cerca l'oggetto specificato in un intervallo di elementi di una matrice unidimensionale e restituisce l'indice della prima occorrenza.Searches for the specified object in a range of elements of a one-dimensional array, and returns the index of its first occurrence. L'intervallo si estende da un indice specificato per un numero specificato di elementi.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

Parametri di tipo

T

Tipo degli elementi della matrice.The type of the elements of the array.

Parametri

array
T[]

Matrice unidimensionale in base zero in cui eseguire la ricerca.The one-dimensional, zero-based array to search.

value
T T T T

Oggetto da trovare in array.The object to locate in array.

startIndex
Int32 Int32 Int32 Int32

Indice iniziale in base zero della ricerca.The zero-based starting index of the search. 0 (zero) è valido in una matrice vuota.0 (zero) is valid in an empty array.

count
Int32 Int32 Int32 Int32

Numero di elementi nella sezione in cui eseguire la ricerca.The number of elements in the section to search.

Restituisce

Indice in base zero della prima occorrenza dell'oggetto value all'interno dell'intervallo di elementi di array che inizia in corrispondenza di startIndex e contiene il numero di elementi specificato in count, se trovato. In caso contrario, -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.

Eccezioni

startIndex non è compreso nell'intervallo di indici validi per array.startIndex is outside the range of valid indexes for array.

-oppure--or- count è minore di zero.count is less than zero.

-oppure--or- startIndex e count non specificano una sezione valida in array.startIndex and count do not specify a valid section in array.

Esempi

Nell'esempio seguente vengono illustrati tutti e tre gli overload generici del IndexOf metodo.The following example demonstrates all three generic overloads of the IndexOf method. Viene creata una matrice di stringhe con una voce che viene visualizzata due volte, nella posizione dell'indice 0 e nella posizione di indice 5.An array of strings is created, with one entry that appears twice, at index location 0 and index location 5. L' IndexOf<T>(T[], T) overload del metodo cerca la matrice dall'inizio e trova la prima occorrenza della stringa.The IndexOf<T>(T[], T) method overload searches the array from the beginning, and finds the first occurrence of the string. L' IndexOf<T>(T[], T, Int32) overload del metodo viene usato per eseguire la ricerca nella matrice a partire dalla posizione di indice 3 e continuare fino alla fine della matrice e trova la seconda occorrenza della stringa.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. Infine, l' IndexOf<T>(T[], T, Int32, Int32) overload del metodo viene usato per eseguire la ricerca in un intervallo di due voci, a partire dalla posizione di indice due. restituisce-1 perché non sono presenti istanze della stringa di ricerca in tale intervallo.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

Commenti

Questo metodo esegue la ricerca degli elementi di una matrice unidimensionale startIndex da startIndex a count più meno 1, count se è maggiore di 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. Per determinare se value esiste in array, il metodo esegue un confronto di uguaglianza chiamando il T.Equals metodo su ogni elemento.To determine whether value exists in array, the method performs an equality comparison by calling the T.Equals method on every element. Ciò significa che se T esegue l' Equals override del metodo, viene chiamata la sostituzione.This means that if T overrides the Equals method, that override is called.

startIndex SeArray.Lengthè uguale a, il metodo restituisce-1.If startIndex equals Array.Length, the method returns -1. Se startIndex è maggiore di Array.Length, il metodo genera un' ArgumentOutOfRangeExceptioneccezione.If startIndex is greater than Array.Length, the method throws an ArgumentOutOfRangeException.

Questo metodo è un'operazione On(), dove n è count.This method is an O(n) operation, where n is count.

Vedi anche

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

Cerca l'oggetto specificato e restituisce l'indice della prima ricorrenza all'interno di una matrice unidimensionale.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

Parametri di tipo

T

Tipo degli elementi della matrice.The type of the elements of the array.

Parametri

array
T[]

Matrice unidimensionale in base zero in cui eseguire la ricerca.The one-dimensional, zero-based array to search.

value
T T T T

Oggetto da trovare in array.The object to locate in array.

Restituisce

Indice in base zero della prima occorrenza di value all'interno dell'intero oggetto array, se presente. In caso contrario, -1.The zero-based index of the first occurrence of value in the entire array, if found; otherwise, -1.

Eccezioni

Esempi

Nell'esempio seguente vengono illustrati tutti e tre gli overload generici del IndexOf metodo.The following example demonstrates all three generic overloads of the IndexOf method. Viene creata una matrice di stringhe con una voce che viene visualizzata due volte, nella posizione dell'indice 0 e nella posizione di indice 5.An array of strings is created, with one entry that appears twice, at index location 0 and index location 5. L' IndexOf<T>(T[], T) overload del metodo cerca la matrice dall'inizio e trova la prima occorrenza della stringa.The IndexOf<T>(T[], T) method overload searches the array from the beginning, and finds the first occurrence of the string. L' IndexOf<T>(T[], T, Int32) overload del metodo viene usato per eseguire la ricerca nella matrice a partire dalla posizione di indice 3 e continuare fino alla fine della matrice e trova la seconda occorrenza della stringa.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. Infine, l' IndexOf<T>(T[], T, Int32, Int32) overload del metodo viene usato per eseguire la ricerca in un intervallo di due voci, a partire dalla posizione di indice due. restituisce-1 perché non sono presenti istanze della stringa di ricerca in tale intervallo.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

Commenti

Questo metodo esegue una ricerca in tutti gli elementi di una matrice unidimensionale per value.This method searches all the elements of a one-dimensional array for value. Per determinare se value esiste in array, il metodo esegue un confronto di uguaglianza chiamando il T.Equals metodo su ogni elemento.To determine whether value exists in array, the method performs an equality comparison by calling the T.Equals method on every element. Ciò significa che se T esegue l' Equals override del metodo, viene chiamata la sostituzione.This means that if T overrides the Equals method, that override is called.

Questo metodo è un'operazione On(), dove n è l' Length oggetto arraydi.This method is an O(n) operation, where n is the Length of array.

Vedi anche

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

Cerca l'oggetto specificato in un intervallo di elementi di una matrice unidimensionale e restituisce l'indice della prima occorrenza.Searches for the specified object in a range of elements of a one dimensional array, and returns the index of its first occurrence. L'intervallo si estende da un indice specificato fino alla fine della matrice.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

Parametri di tipo

T

Tipo degli elementi della matrice.The type of the elements of the array.

Parametri

array
T[]

Matrice unidimensionale in base zero in cui eseguire la ricerca.The one-dimensional, zero-based array to search.

value
T T T T

Oggetto da trovare in array.The object to locate in array.

startIndex
Int32 Int32 Int32 Int32

Indice iniziale in base zero della ricerca.The zero-based starting index of the search. 0 (zero) è valido in una matrice vuota.0 (zero) is valid in an empty array.

Restituisce

Indice in base zero della prima occorrenza dell'oggetto value all'interno dell'intervallo di elementi di array compreso tra startIndex e l'ultimo elemento, se trovato. In caso contrario, -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.

Eccezioni

startIndex non è compreso nell'intervallo di indici validi per array.startIndex is outside the range of valid indexes for array.

Esempi

Nell'esempio seguente vengono illustrati tutti e tre gli overload generici del IndexOf metodo.The following example demonstrates all three generic overloads of the IndexOf method. Viene creata una matrice di stringhe con una voce che viene visualizzata due volte, nella posizione dell'indice 0 e nella posizione di indice 5.An array of strings is created, with one entry that appears twice, at index location 0 and index location 5. L' IndexOf<T>(T[], T) overload del metodo cerca la matrice dall'inizio e trova la prima occorrenza della stringa.The IndexOf<T>(T[], T) method overload searches the array from the beginning, and finds the first occurrence of the string. L' IndexOf<T>(T[], T, Int32) overload del metodo viene usato per eseguire la ricerca nella matrice a partire dalla posizione di indice 3 e continuare fino alla fine della matrice e trova la seconda occorrenza della stringa.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. Infine, l' IndexOf<T>(T[], T, Int32, Int32) overload del metodo viene usato per eseguire la ricerca in un intervallo di due voci, a partire dalla posizione di indice due. restituisce-1 perché non sono presenti istanze della stringa di ricerca in tale intervallo.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

Commenti

Questo metodo esegue la ricerca di una matrice unidimensionale dall'elemento startIndex alla fine della matrice.This method searches a one-dimensional array from the element at startIndex to the end of the array. Per determinare se value esiste in array, il metodo esegue un confronto di uguaglianza chiamando il T.Equals metodo su ogni elemento.To determine whether value exists in array, the method performs an equality comparison by calling the T.Equals method on every element. Ciò significa che se T esegue l' Equals override del metodo, viene chiamata la sostituzione.This means that if T overrides the Equals method, that override is called.

Se startIndex startIndex è Array.Lengthuguale a ArgumentOutOfRangeException, il metodo restituisce 1. se è maggiore di, il metodo genera un'eccezione. LengthIf startIndex equals Length,the method returns -1.If startIndex is greater than Array.Length, the method throws an ArgumentOutOfRangeException.

Questo metodo è un'operazione On(), dove n è il numero di elementi da startIndex alla fine di array.This method is an O(n) operation, where n is the number of elements from startIndex to the end of array.

Vedi anche

Si applica a