public:
 static int IndexOf(Array ^ array, System::Object ^ value);
public static int IndexOf (Array array, object value);
public static int IndexOf (Array array, object? value);
static member IndexOf : Array * obj -> int
Public Shared Function IndexOf (array As Array, value As Object) As Integer

该示例调用方法的以下三个重载 IndexOf 来查找字符串数组中的字符串索引:

  • IndexOf(Array, Object) ,用于确定字符串数组中字符串“the”的第一个匹配项。

  • IndexOf(Array, Object, Int32) ,用于确定字符串数组的第四个元素中字符串“the”的第一个匹配项。

  • IndexOf(Array, Object, Int32, Int32) ,用于确定字符串数组中字符串“the”的第一个匹配项,该字符串与数组末尾匹配之后的元素。

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

    此方法搜索一维数组 value 的所有元素。 若要确定 value 是否存在 array ,该方法通过调用每个元素 Equals 的方法来执行相等比较,直到找到匹配项。 这意味着,如果元素重写 Object.Equals(Object) 方法,则调用该替代。

    由于大多数数组的下限为零,因此此方法通常返回 -1(如果未 value 找到)。 在极少数情况下,数组的下限等于 Int32.MinValue (0x80000000) 且 value 找不到,此方法返回 Int32.MaxValue (0x7FFFFFFF) 。

    此方法是 O ( n ) 操作,其位置 n Length array .

    public:
     static int IndexOf(Array ^ array, System::Object ^ value, int startIndex);
    public static int IndexOf (Array array, object value, int startIndex);
    public static int IndexOf (Array array, object? value, int startIndex);
    static member IndexOf : Array * obj * int -> int
    Public Shared Function IndexOf (array As Array, value As Object, startIndex As Integer) As Integer

    该示例调用方法的以下三个重载 IndexOf 来查找字符串数组中的字符串索引:

  • IndexOf(Array, Object) ,用于确定字符串数组中字符串“the”的第一个匹配项。

  • IndexOf(Array, Object, Int32) ,用于确定字符串数组的第四个元素中字符串“the”的第一个匹配项。

  • IndexOf(Array, Object, Int32, Int32) ,用于确定字符串数组中字符串“the”的第一个匹配项,该字符串与数组末尾匹配之后的元素。

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

    此方法从索引 startIndex 处的元素搜索一维数组到最后一个元素。 若要确定 value 是否存在, array 该方法通过调用 Equals 每个元素的方法来执行相等比较,直到找到匹配项。 这意味着,如果元素重写 Object.Equals(Object) 方法,则调用该替代。

    由于大多数数组的下限为零,因此此方法通常返回 -1(如果未 value 找到)。 在极少数情况下,数组的下限等于 Int32.MinValue (0x80000000) 且 value 找不到,此方法返回 Int32.MaxValue (0x7FFFFFFF) 。

    如果 startIndex 等于 Array.Length ,则该方法返回 -1。 如果 startIndex 大于 Array.Length ,该方法将引发一个 ArgumentOutOfRangeException

    此方法是一个 O ( n ) 操作,其中 n 元素数从 startIndex 头到尾 array

    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);
    public static int IndexOf (Array array, object? value, int startIndex, int count);
    static member IndexOf : Array * obj * int * int -> int
    Public Shared Function IndexOf (array As Array, value As Object, startIndex As Integer, count As Integer) As Integer

    该示例调用方法的以下三个重载 IndexOf 来查找字符串数组中的字符串索引:

  • IndexOf(Array, Object) ,用于确定字符串数组中字符串“the”的第一个匹配项。

  • IndexOf(Array, Object, Int32) ,用于确定字符串数组的第四个元素中字符串“the”的第一个匹配项。

  • IndexOf(Array, Object, Int32, Int32) ,用于确定字符串数组中字符串“the”的第一个匹配项,该字符串与数组末尾匹配之后的元素。 若要确定参数的值 count ,它将从起始索引中减去数组的上限,并添加一个。

    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. // Create a string array with 3 elements having the same value. let strings = [| "the"; "quick"; "brown"; "fox"; "jumps"; "over" "the"; "lazy"; "dog"; "in"; "the"; "barn" |] // Display the elements of the array. printfn "The array contains the following values:" for i = strings.GetLowerBound 0 to strings.GetUpperBound 0 do printfn $" [{i,2}]: {strings[i]}" // Search for the first occurrence of the duplicated value. let searchString = "the" let index = Array.IndexOf(strings, searchString) printfn $"The first occurrence of \"{searchString}\" is at index {index}." // Search for the first occurrence of the duplicated value in the last section of the array. let index = Array.IndexOf(strings, searchString, 4) printfn $"The first occurrence of \"{searchString}\" between index 4 and the end is at index {index}." // Search for the first occurrence of the duplicated value in a section of the array. let position = index + 1 let index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound 0 - position + 1) printfn $"The first occurrence of \"{searchString}\" between index {position} and index {strings.GetUpperBound 0} is at index {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. // 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)) ' 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.

    如果大于 0, count 此方法将一维数组的元素从 startIndex count 维数组的元素搜索为 startIndex 减 1。 若要确定 value 是否存在, array 该方法通过调用 Equals 每个元素的方法来执行相等比较,直到找到匹配项。 这意味着,如果元素重写 Object.Equals 方法,则调用该替代。

    由于大多数数组的下限为零,因此此方法通常在找不到时 value 返回 -1。 在极少数情况下,数组的下限等于 Int32.MinValue (0x80000000) 且 value 找不到,此方法返回 Int32.MaxValue (0x7FFFFFFF) 。

    如果 startindex 相等 Array.Length ,该方法返回 -1。 如果 startIndex 大于 Array.Length ,该方法将引发一个 ArgumentOutOfRangeException

    此方法是 O ( n ) 操作,其中 n count

    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

    以下示例演示了该方法的所有三个 IndexOf 泛型重载。 创建字符串数组,其中一个条目出现在索引位置 0 和索引位置 5 处两次。 该方法 IndexOf<T>(T[], T) 重载从头开始搜索数组,并查找字符串的第一个匹配项。 该方法 IndexOf<T>(T[], T, Int32) 重载用于搜索以索引位置 3 开头的数组,并继续到数组的末尾,并查找字符串的第二个匹配项。 最后, IndexOf<T>(T[], T, Int32, Int32) 该方法重载用于搜索两个条目的范围,从索引位置 2 开始;它返回 -1,因为该区域中没有搜索字符串的实例。

    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 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 open System let dinosaurs = [| "Tyrannosaurus" "Amargasaurus" "Mamenchisaurus" "Brachiosaurus" "Deinonychus" "Tyrannosaurus" "Compsognathus" |] printfn "" for dino in dinosaurs do printfn $"{dino}" Array.IndexOf(dinosaurs, "Tyrannosaurus") |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): %i" Array.IndexOf(dinosaurs, "Tyrannosaurus", 3) |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): %i" Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2) |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): %i" // 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) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus""): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus")) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 3): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus", 3)) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 2, 2): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2)) End Sub End Class ' This code example produces the following output: 'Tyrannosaurus 'Amargasaurus 'Mamenchisaurus 'Brachiosaurus 'Deinonychus 'Tyrannosaurus 'Compsognathus 'Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0 'Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5 'Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1

    此方法在数组末尾的元素中 startIndex 搜索一维数组。 若要确定 value 是否存在 array ,该方法通过对每个元素调用 T.Equals 方法来执行相等比较。 这意味着,如果 T 重写 Equals 方法,则会调用该替代。

    如果 startIndex 等于 Length ,该方法将返回 -1。 如果 startIndex 大于 Array.Length ,该方法将引发一个 ArgumentOutOfRangeException

    此方法是一个 O ( n ) 操作,其中 n 元素数从 startIndex 开始到末尾 array

    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

    以下示例演示了该方法的所有三个 IndexOf 泛型重载。 创建字符串数组,其中一个条目出现在索引位置 0 和索引位置 5 处两次。 该方法 IndexOf<T>(T[], T) 重载从头开始搜索数组,并查找字符串的第一个匹配项。 该方法 IndexOf<T>(T[], T, Int32) 重载用于搜索以索引位置 3 开头的数组,并继续到数组的末尾,并查找字符串的第二个匹配项。 最后, IndexOf<T>(T[], T, Int32, Int32) 该方法重载用于搜索两个条目的范围,从索引位置 2 开始;它返回 -1,因为该区域中没有搜索字符串的实例。

    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 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 open System let dinosaurs = [| "Tyrannosaurus" "Amargasaurus" "Mamenchisaurus" "Brachiosaurus" "Deinonychus" "Tyrannosaurus" "Compsognathus" |] printfn "" for dino in dinosaurs do printfn $"{dino}" Array.IndexOf(dinosaurs, "Tyrannosaurus") |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): %i" Array.IndexOf(dinosaurs, "Tyrannosaurus", 3) |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): %i" Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2) |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): %i" // 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) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus""): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus")) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 3): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus", 3)) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 2, 2): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2)) End Sub End Class ' This code example produces the following output: 'Tyrannosaurus 'Amargasaurus 'Mamenchisaurus 'Brachiosaurus 'Deinonychus 'Tyrannosaurus 'Compsognathus 'Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0 'Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5 'Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1

    此方法搜索一维数组的元素( startIndex startIndex count 如果 count 大于 0)。 若要确定 value 是否存在 array ,该方法通过对每个元素调用 T.Equals 方法来执行相等比较。 这意味着,如果 T 重写 Equals 方法,则会调用该替代。

    如果 startIndex 相等 Array.Length ,该方法将返回 -1。 如果 startIndex 大于 Array.Length ,该方法将引发一个 ArgumentOutOfRangeException

    此方法是一 n 个 O () 操作,其中 n count

    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

    以下示例演示该方法的所有三个 IndexOf 泛型重载。 创建字符串数组,其中一个条目出现在索引位置 0 和索引位置 5 两次。 该方法 IndexOf<T>(T[], T) 重载从头开始搜索数组,并查找字符串的第一个匹配项。 方法 IndexOf<T>(T[], T, Int32) 重载用于搜索以索引位置 3 开头的数组,并继续到数组的末尾,并查找字符串的第二个匹配项。 最后, IndexOf<T>(T[], T, Int32, Int32) 该方法重载用于搜索两个条目的范围,从索引位置 2 开始;它返回 -1,因为该区域中没有搜索字符串的实例。

    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 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 open System let dinosaurs = [| "Tyrannosaurus" "Amargasaurus" "Mamenchisaurus" "Brachiosaurus" "Deinonychus" "Tyrannosaurus" "Compsognathus" |] printfn "" for dino in dinosaurs do printfn $"{dino}" Array.IndexOf(dinosaurs, "Tyrannosaurus") |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): %i" Array.IndexOf(dinosaurs, "Tyrannosaurus", 3) |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): %i" Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2) |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): %i" // 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) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus""): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus")) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 3): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus", 3)) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 2, 2): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2)) End Sub End Class ' This code example produces the following output: 'Tyrannosaurus 'Amargasaurus 'Mamenchisaurus 'Brachiosaurus 'Deinonychus 'Tyrannosaurus 'Compsognathus 'Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0 'Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5 'Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1

    此方法搜索一维数组 value 的所有元素。 若要确定 value 是否存在, array 该方法通过对每个元素调用 T.Equals 方法来执行相等比较。 这意味着,如果 T 重写 Equals 该方法,则会调用该替代。

    此方法是 O ( n ) 操作,其位置 n Length array .

  •