Znajdź pozycję na liście według LINQ?

Tutaj mam prosty przykład, aby znaleźć element na liście ciągów. Zwykle używam dla pętli lub anonimowego delegata, aby to zrobić w ten sposób:

int GetItemIndex(string search)
{
   int found = -1;
   if ( _list != null )
   {
     foreach (string item in _list) // _list is an instance of List<string>
     { 
        found++;
        if ( string.Equals(search, item) )
        {
           break;
        }
      }
      /* use anonymous delegate
      string foundItem = _list.Find( delegate(string item) {
         found++;
         return string.Equals(search, item);
      });
      */
   }
   return found;
}

LINQ jest dla mnie nowy. Jestem ciekawy, czy mogę użyć LINQ, aby znaleźć pozycję na liście? Jak to możliwe?

questionAnswers(12)

yourAnswerToTheQuestion