Given such a list:
List intList = new List();
intList.Add(5);
intList.Add(10);
intList.Add(15);
Here's the non-linq method if you like:
private int ReturnMaxIdx(List intList)
{
int MaxIDX = -1;
int Max = -1;
for (int i = 0; i < intList.Count; i++)
{
if (i == 0)
{
Max = intList[0];
MaxIDX = 0;
}
else
{
if (intList[i] > Max)
{
Max = intList[i];
MaxIDX = i;
}
}
}
return MaxIDX;
}
This is a single pass through the list at least.
Hope this helps,
Kyle