List内のどこに含まれているかを調べるにはIndexOfメソッドを使うことが出来ます。 IndexOfメソッドでは、要素が見つかった場合はその要素のインデックスを返します。 もし見つからなければ-1が返されます。

IndexOfメソッドはListの先頭から調べて最初に見つかった要素のインデックスを返しますが、LastIndexOfメソッドを使うとListの末尾から調べて最初に見つかった要素のインデックス(List内で一番最後にあるインデックス)を取得することができます。 検索したい要素がListの後方にあることが想定される場合は、LastIndexOfメソッドを使った方が早く見つけることができます。

IndexOfメソッド・LastIndexOfメソッドを使ってList内にある要素の位置を検索して取得する
Imports System
Imports System.Collections.Generic

Class Sample
  Shared Sub Main()
    Dim list As New List(Of String)(New String() {"Alice", "Bob", "Charlie", "Bob", "Alice"})

    ' 値"Bob"を持つ最初の要素の位置を取得する
    Console.WriteLine("IndexOf(Bob) = {0}", list.IndexOf("Bob"))

    ' 値"Eve"を持つ最初の要素の位置を取得する
    Console.WriteLine("IndexOf(Eve) = {0}", list.IndexOf("Eve"))

    ' 値"Alice"を持つ最後の要素の位置を取得する
    Console.WriteLine("LastIndexOf(Alice) = {0}", list.LastIndexOf("Alice"))
  End Sub
End Class
実行結果
IndexOf(Bob) = 1
IndexOf(Eve) = -1
LastIndexOf(Alice) = 4

FindIndex・FindLastIndex等のメソッドを使うと、より複雑な条件を指定して要素を検索することが出来ます。 また、文字列を格納するリストで大文字小文字を無視した検索をしたい場合などにはこれらのメソッドを使う必要があります。 詳しくは§.述語(Predicate)を用いた検索で後述します。