向后迭代 selectedListViewItemCollection

Iterate backwards over a selectedListViewItemCollection

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

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

当这是 运行 时我得到一个 InvalidCastException。

那是因为 SelectedItems 没有实现泛型 IEnumerable<ListViewItem>

改用Cast<T>方法:

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