-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[API Proposal]: IndexOf extension method on IEnumerable<T> #110045
Comments
Tagging subscribers to this area: @dotnet/area-system-linq |
That already works today if you set |
Right, and how is that different from ElementAt, for non-indexable collections, which already exists? |
It'll work for any
ElementAt is problematic, for a variety of reasons, including that the data could change on subsequent enumeration and including that it can easily lead to unexpected O(N^2) evaluation. I don't think we should be doubling-down on it. |
For
How about |
Agree that we shouldn't be exposing this due to the index not being practical to use with arbitrary enumerables. |
@eiriktsarpalis what if you just want to know the position at that point in time for some other purpose, and you don't intend to try to use it to index back into the enumerable? |
Can you share an example where this might be the case? Is it common enough to warrant inclusion in System.Linq and not be a helper when necessary? |
Background and motivation
As the counterpart to ElementAt(), and Index(), I suggest the creation of an IndexOf() method, which would return the index of the passed element on a list, or -1 if the element is not found. This could even be implemented in LINQ to databases, as there are ways to obtain the index of a row.
API Proposal
API Usage
Alternative Designs
No response
Risks
No breaking changes, as it's a new method.
The text was updated successfully, but these errors were encountered: