How can I get the index of an item in a list in a single step?

c#, linq, lookup

Solution

How about the List.FindIndex Method:

int index = myList.FindIndex(a => a.Prop == oProp);

This method performs a linear search; therefore, this method is an O(n) operation, where n is Count.

If the item is not found, it will return -1

Problem

How can I find the index of an item in a list without looping through it? Currently this doesn't look very nice - searching through the list for the same item twice, just to get the index: ``` var oProp = something; int theThingIActuallyAmInterestedIn = myList.IndexOf(myList.Single(i => i.Prop == oProp)); ```

Original source

Related problems