gpt4 book ai didi

c# - 使用循环获取 ListView 中的每个项目?

转载 作者:太空狗 更新时间:2023-10-29 22:35:18 25 4
gpt4 key购买 nike

使用循环获取多列 ListView 中的每个项目的好方法是什么?

在进行了大量挖掘之后,我真的找不到任何东西,所以当我找到一些东西时,我想在这里分享它,看看人们是否有更好的方法来做这件事。也有点像先发制人,当我挠头思考如何做时,一定会出现一个问题???呃……我?

我喜欢这个网站,所以我想分享我对上述问题的解决方案。我知道有点倒退,但我仍然知道它会在某个地方帮助某人。 =)

    private ArrayList getItemsFromListViewControl()
{
ArrayList lviItemsArrayList = new ArrayList();

foreach (ListViewItem itemRow in this.loggerlistView.Items)
{
//lviItemsArrayList.Add(itemRow.Text); <-- Already included in SubItems so ... = )

for (int i = 0; i < itemRow.SubItems.Count; i++)
{
lviItemsArrayList.Add(itemRow.SubItems[i].Text);
// Do something useful here, for example the line above.
}
}
return lviItemsArrayList;
}

这将返回一个基于线性数组的表示形式,表示属于 ArrayList 集合对象中的目标 ListView 控件的所有项目。

最佳答案

我建议使用 IEnumerable 作为方法的返回类型,并使用“yield return”来返回每个子项。

private IEnumerable<ListViewSubItem> GetItemsFromListViewControl()
{
foreach (ListViewItem itemRow in this.loggerlistView.Items)
{
for (int i = 0; i < itemRow.SubItems.Count; i++)
{
yield return itemRow.SubItems[i]);
}
}
}

尽管如果您使用的是 .NET 3.5,我建议您也使用 LINQ。

关于c# - 使用循环获取 ListView 中的每个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1343874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com