Dan*_*mov 13
应该是这样的:
var last = list.Count - 1;
var thin = list.Where ((item, i) => i % 30 == 0 || i == last);
Run Code Online (Sandbox Code Playgroud)
如果我正确理解你的观点.
请注意,thin将是IEnumerable<int>不List<int>.
通常这就足够了 - 您可以在foreach循环中枚举它并使用其他LINQ方法.
但它会被懒惰地评估,也就是说,如果你原来的list改变,thin也会改变.
如果你想获得一个List<int>,只需追加一个ToList ()电话:
var last = list.Count - 1;
var thin = list.Where ((item, i) => i % 30 == 0 || i == last)
.ToList ();
Run Code Online (Sandbox Code Playgroud)
同样,要获取数组,请使用ToArray ().
不要忘记添加using System.Linq;这个工作.
另请参阅101 LINQ样本以获得更高级的过滤,聚合和分组.