Ibr*_*taz 5 c# listview loops winforms
使用循环获取多个列的ListView中的每个项目的有效方法是什么?
经过一段时间的挖掘,我找不到任何东西,所以当我找到一些我想在这里分享它的东西时,看看人们是否有更好的方法.还有点像抢占一个必然会出现的问题,因为我有点想着怎么办?eerrrr ....我?
我喜欢这个网站,所以我想分享我对上述问题的解决方案.我知道倒退,但我知道它会帮助某人在某个地方.=)
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;
}
Run Code Online (Sandbox Code Playgroud)
这将返回一个基于线性数组的表示,该表示属于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]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
虽然如果您使用的是.NET 3.5,我建议也使用LINQ.
| 归档时间: |
|
| 查看次数: |
55530 次 |
| 最近记录: |