C# ListView列的最大值

C# ListView列的最大值,c#,C#,我不需要对listView进行排序,我只需要从列中获取最高值,该列中的所有值都是数字。如果我可以将其转换为IEnumerable,那么我就可以使用LINQ了 更新 我的现有代码:DrawArray是带有随机数的数组。我需要在不创建其他列表或数组的情况下获取index.ToString()列的最大值 for (int i = 0; i < Rounds; i++) { ListViewItem lvItem = new ListViewItem(i.ToString()); lvItem.

我不需要对listView进行排序,我只需要从列中获取最高值,该列中的所有值都是数字。如果我可以将其转换为
IEnumerable
,那么我就可以使用LINQ了

更新

我的现有代码:DrawArray是带有随机数的数组。我需要在不创建其他列表或数组的情况下获取
index.ToString()
列的最大值

for (int i = 0; i < Rounds; i++)
{
ListViewItem lvItem = new ListViewItem(i.ToString());

lvItem.SubItems.Add(new ListViewItem.ListViewSubItem(lvItem, index.ToString()));

int[] DrawArray = Draw(DrawsPerRound, RoundSize);

lvItem.SubItems.Add(new ListViewItem.ListViewSubItem(lvItem, DrawArray.Aggregate("", (s, t) => s + ", " + t.ToString()).TrimStart(new char[] { ',' })));

lvItem.SubItems.Add(new ListViewItem.ListViewSubItem(lvItem, "No"));

lvItem.BackColor = Color.PaleVioletRed;

listView1.Items.Add(lvItem);
}
for(int i=0;is+”,“+t.ToString()).TrimStart(新字符[]{,'}));
添加(新的ListViewItem.ListViewSubItem(lvItem,“否”);
lvItem.BackColor=Color.PaleVioletRed;
listView1.Items.Add(lvItem);
}

ListView.Items
ListViewItemCollection
继承的
IList、ICollection、IEnumerable

通过linq,你可以得到你想要的

System.Nullable<int> max = (
              from m in listView1.Items.Cast<ListViewItem>() 
              select int.ParseInt(m.SubItems[0].Text)).Max();
System.Nullable max=(
来自listView1.Items.Cast()中的m
选择int.ParseInt(m.SubItems[0].Text)).Max();

可能缺少一些类型转换或其他内容,这有点难看,但这里有一个想法:

var max = listView1.Items.Cast<ListViewItem>().Max(x => int.Parse(x.SubItems[0].Text));
var max=listView1.Items.Cast().max(x=>int.Parse(x.SubItems[0].Text));

这将使用LINQ,因此请确保您有
使用System.LINQ在您的文件中,并且正在使用.NET>=3.5。

请发布您的现有代码。您可以使用此链接中的方法:我尝试过,但无法直接访问Max,我假设必须首先对其进行强制转换。listView1.Items.Cast().Max(x=>int.Parse(x.SubItems[0].Text));谢谢@DanielVlasceanu,我将把这个
Cast
放到我的答案中。在查询中丢失不存在的“var”,您将无法找到源类型“System.Windows.Forms.ListView.ListViewItemCollection”的查询模式的实现选择“未找到”。考虑显式指定范围变量“m”的类型。当编译器无法推断其实际类型时,需要显式指定(CAST)变量M的类型。因此,listview1.Items.Cast()应该可以解决这个问题。