如何查找列表框中最低值的索引c#

时间:2012-05-16 05:58:46

标签: c# winforms

我正在使用此代码查找列表框的最低值,

var low = lowestlow.Items.Cast<object>()
.Select(obj => Convert.ToDouble((decimal.Round(Convert.ToDecimal(obj), 2))));
double llvalue = low.Min();

我想在列表框llvalue中找到lowestlow的最低值的索引。

我不知道该怎么做。

任何人都可以帮助我。 在此先感谢

4 个答案:

答案 0 :(得分:1)

尝试lowestlow.Items.IndexOf(lowestlow.Items.FindByValue(llvalue))

答案 1 :(得分:0)

object item =    lowestlow.Items.Min(i => i)
int index = lowestlow.IndexOf(item);

我不知道你在列表中有什么可能你必须强制转换它或定义一个参数(如果列表中有一个对象

答案 2 :(得分:0)

你也可以试试linq aproach

int minValue = 0;

if (listBox1.Items.Count > 0)
{
minValue = Convert.ToInt32(listBox1.Items[0]);
maxValue = Convert.ToInt32(listBox1.Items[0]);
}
for (int i = 0; i < listBox1.Items.Count; i++)
{
if (minValue > Convert.ToInt32(listBox1.Items[i]))
{
minValue = Convert.ToInt32(listBox1.Items[i]);
} 
}
int LOWEST = listBox1.IndexOf(minValue);

答案 3 :(得分:0)

如果ListBox中有Integer,则可以将以下linq用于最低的get索引(First occurrence)。

Dim convertedList = ListBox1.Items.Cast(Of String).ToList()
Dim lowest = convertedList.IndexOf(convertedList.Where(Function(x) x <= convertedList.Min()).First())

使用以下数字返回8 in:

8
2
3
4
5
6
2
10
0 <--
11
12
13
14