2012-12-26 126 views
4

有没有办法将listView.SelectedIndices转换为List<int>
我想这将listView.SelectedIndices转换为列表<int>

(List<int>)reListViewAllMovies.SelectedIndices.Cast<List<int>>() 

但它不工作(InvalidCastException的)。
如果解决方案不存在,是否有任何“单行”解决方案,例如使用lambda表达式?

+1

我编辑了您的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –

回答

5

老问题,但我一直在寻找一个解决方案自己。 .NET v4.5。我不知道早期版本的框架。

var list = myListView.SelectedIndices.Cast<int>().ToList(); 
+0

是的,这就是我正在寻找的,谢谢。也适用于.NET 4.0。 – icl7126

5
reListViewAllMovies.SelectedIndices.Select(i => (int)i).ToList(); 

或者,你可以使用一个foreach循环转换的结果:

var newList = new List<int>(); 
foreach(int i in reListViewAllMovies.SelectedIndices) 
{ 
    newList.Add(i); 
} 
+0

没有'选择'方法 – icl7126

+0

循环当然工作正常,但我试图避免这种(没有休息 - 三行)解决方案。但是,无论如何感谢您的努力...... – icl7126

+0

@klerik - 循环出了什么问题?如果你想看一下LINQ Select方法,你会发现它的功能基本相同。 –

相关问题