Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Collection(Of T).IndexOf Method

Searches for the specified object and returns the zero-based index of the first occurrence within the entire Collection(Of T).

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

'Declaration
Public Function IndexOf ( _
	item As T _
) As Integer

Parameters

item
Type: T

The object to locate in the List(Of T). The value can be Nothing for reference types.

Return Value

Type: System.Int32
The zero-based index of the first occurrence of item within the entire Collection(Of T), if found; otherwise, -1.

Implements

IList(Of T).IndexOf(T)

The Collection(Of T) is searched forward starting at the first element and ending at the last element.

This method determines equality using the default equality comparer EqualityComparer(Of T).Default for T, the type of values in the list.

This method performs a linear search; therefore, the average execution time is proportional to Count. That is, this method is an O(n) operation, where n is Count.

The following code example demonstrates many of the properties and methods of Collection(Of T). The code example creates a collection of strings, uses the Add method to add several strings, displays the Count, and lists the strings. The example uses the IndexOf method to find the index of a string and the Contains method to determine whether a string is in the collection. The example inserts a string using the Insert method and retrieves and sets strings using the default Item property (the indexer in C#). The example removes strings by string identity using the Remove method and by index using the RemoveAt method. Finally, the Clear method is used to clear all strings from the collection.

Imports System
Imports System.Collections.Generic
Imports System.Collections.ObjectModel

Public Class Demo

    Public Shared Sub Main() 

        Dim dinosaurs As New Collection(Of String)

        dinosaurs.Add("Psitticosaurus")
        dinosaurs.Add("Caudipteryx")
        dinosaurs.Add("Compsognathus")
        dinosaurs.Add("Muttaburrasaurus")

        Console.WriteLine("{0} dinosaurs:", dinosaurs.Count)
        Display(dinosaurs)

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

        Console.WriteLine(vbLf & "Contains(""Caudipteryx""): {0}", _
            dinosaurs.Contains("Caudipteryx"))

        Console.WriteLine(vbLf & "Insert(2, ""Nanotyrannus"")")
        dinosaurs.Insert(2, "Nanotyrannus")
        Display(dinosaurs)

        Console.WriteLine(vbLf & "dinosaurs(2): {0}", dinosaurs(2))

        Console.WriteLine(vbLf & "dinosaurs(2) = ""Microraptor""")
        dinosaurs(2) = "Microraptor"
        Display(dinosaurs)

        Console.WriteLine(vbLf & "Remove(""Microraptor"")")
        dinosaurs.Remove("Microraptor")
        Display(dinosaurs)

        Console.WriteLine(vbLf & "RemoveAt(0)")
        dinosaurs.RemoveAt(0)
        Display(dinosaurs)

        Console.WriteLine(vbLf & "dinosaurs.Clear()")
        dinosaurs.Clear()
        Console.WriteLine("Count: {0}", dinosaurs.Count)

    End Sub 

    Private Shared Sub Display(ByVal cs As Collection(Of String)) 
        Console.WriteLine()
        For Each item As String In cs
            Console.WriteLine(item)
        Next item
    End Sub 
End Class 

' This code example produces the following output: 

'4 dinosaurs: 

'Psitticosaurus 
'Caudipteryx 
'Compsognathus 
'Muttaburrasaurus 

'IndexOf("Muttaburrasaurus"): 3 

'Contains("Caudipteryx"): True 

'Insert(2, "Nanotyrannus") 

'Psitticosaurus 
'Caudipteryx 
'Nanotyrannus 
'Compsognathus 
'Muttaburrasaurus 

'dinosaurs(2): Nanotyrannus 

'dinosaurs(2) = "Microraptor" 

'Psitticosaurus 
'Caudipteryx 
'Microraptor 
'Compsognathus 
'Muttaburrasaurus 

'Remove("Microraptor") 

'Psitticosaurus 
'Caudipteryx 
'Compsognathus 
'Muttaburrasaurus 

'RemoveAt(0) 

'Caudipteryx 
'Compsognathus 
'Muttaburrasaurus 

'dinosaurs.Clear() 
'Count: 0

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft