Array.IndexOf Method (Array, Object, Int32, Int32)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Searches for the specified object and returns the index of the first occurrence within the range of elements in the one-dimensional Array that starts at the specified index and contains the specified number of elements.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
<SecuritySafeCriticalAttribute> _
Public Shared Function IndexOf ( _
    array As Array, _
    value As Object, _
    startIndex As Integer, _
    count As Integer _
) As Integer
[SecuritySafeCriticalAttribute]
public static int IndexOf(
    Array array,
    Object value,
    int startIndex,
    int count
)

Parameters

  • startIndex
    Type: System.Int32
    The starting index of the search.
  • count
    Type: System.Int32
    The number of elements in the section to search.

Return Value

Type: System.Int32
The 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, the lower bound of the array minus 1.

Exceptions

Exception Condition
ArgumentNullException

array is nulla null reference (Nothing in Visual Basic).

ArgumentOutOfRangeException

startIndex is outside the range of valid indexes for array.

-or-

count is less than zero.

-or-

startIndex and count do not specify a valid section in array.

RankException

array is multidimensional.

Remarks

The one-dimensional Array is searched forward starting at startIndex and ending at startIndex plus count minus 1, if count is greater than 0.

The elements are compared to the specified value using the Object.Equals method. If the element type is a nonintrinsic (user-defined) type, the Equals implementation of that type is used.

Since most arrays will have a lower bound of zero, this method would generally return –1 when value is not found. In the rare case that the lower bound of the array is equal to Int32.MinValue and value is not found, this method returns Int32.MaxValue, which is System.Int32.MinValue - 1.

Passing the Length of the array as the startindex will result in a return value of -1, while values greater than Length will raise an ArgumentOutOfRangeException.

This method is an O(n) operation, where n is count.

In the .NET Framework version 2.0, this method uses the Equals and CompareTo methods of the Array to determine whether the Object specified by the value parameter exists. In the earlier versions of the .NET Framework, this determination was made by using the Equals and CompareTo methods of the valueObject itself.

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.