在选定的ListViewItemCollection上向后迭代

时间:2015-01-20 00:55:51

标签: c# iteration

我试过这段代码(适用于任何实现IEnumerable的东西,但显然不是selectListViewItemCollection)

foreach (ListViewItem item in ((IEnumerable<ListViewItem>)categoryListView.SelectedItems).AsEnumerable().Reverse())
{
    // do something
}

运行此命令时会出现InvalidCastException。

1 个答案:

答案 0 :(得分:2)

这是因为SelectedItems没有实现通用IEnumerable<ListViewItem>

改为使用Cast<T>方法:

foreach (ListViewItem item in categoryListView.SelectedItems.Cast<ListViewItem>().AsEnumerable().Reverse())