日期:2014-05-20  浏览次数:21054 次

linq 的FirstOrDefault如何知道是第几个元素
比如一个数组
 1  4  6  9  7
 
找出第一个3的倍数的数字 为6
list.FirstOrDefault(a=>a%3==0) 
但是我要找出它的位置 2 
应该如何做?

------解决方案--------------------
list.Select((x, i) => new { x, i }).FirstOrDefault(x=> x.x % 3 == 0).i; 
------解决方案--------------------
list.FindIndex(a => a % 3 == 0);