On Jan 7, 2011, at 4:40 PM, David Henderson wrote:
> I have a list and I would like to find the minimum element in the array from 
> the 
> current iterator in a foreach loop to the end, not the minimum element 
> overall.

This isn't strictly possible, as there's no way of knowing the index of the 
current iterator element.  You could use List<T>.IndexOf() to find it, but this 
would return the first matching element, which doesn't help if there are 
multiple matching elements.

Consequently, I would suggest using a normal `for` loop instead of a `foreach` 
loop, at which point you will have access to the index, allowing use of 
Enumerable.Skip() and Enumerable.Min() extension methods:

        List<double> d = ...;
        for (int i = 0; i < d.Count; ++i) {
                double min_e = d.Skip (i).Min ();
        }

If you absolutely know you won't have duplicates, you could use a `foreach` 
loop and use List<T>.IndexOf(), but the performance of that would not be 
great...

 - Jon

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to