如何使用lambda表达式和linq从范围中获取元素?
如何使用lambda和linq按范围获取元素?
例如:
我有一个包含54个元素的表。 我只是想从1-10或10-20或20-30等中取出元素 – 通常用一些数值范围。
我怎样才能做到这一点?
List list = new List (); IEnumerable interval = list.Skip(a).Take(b);
您可以使用Enumerable.Skip
和Enumerable.Take
方法;
绕过序列中指定数量的元素,然后返回其余元素。
从序列的开头返回指定数量的连续元素。
List yourlist = new List (){1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; IEnumerable newlist = yourlist.Skip(2).Take(3); foreach(var i in newlist) { Console.WriteLine(i); }
输出将是;
3 4 5
这是一个DEMO
。
如果你想要的是页面,
int pageIndex = 1; int pageSize= 10 List
像这样:
MyList.Skip(x).Take(y);
您可以使用
.Skip(n1).Take(n2)
使用List
List numbers = new List () { 1, 2, 3, 4, 5, 6 }; List firstThreeNumbers = numbers.GetRange(0, 3); List lastThreeNumbers = numbers.GetRange(numbers.Count - 3, 3);
不要Skip
并Take
,只是GetRange
!
希望这可以帮助!
- 获取相关实体ASP.NET WebApi OData v4导致“未找到与请求URI匹配的HTTP资源”
- MVVM是否会阻止Visual Studio Designer显示xaml?
- 在c#.net中更新zip时出现内存不足exception
- winforms中的字段validation
- 使用错误和输出重定向执行C#.bat文件
- 使用VS2015 Update 1编译时表达式破坏代码
- 如何在C#中将DataRow转换为DataRowView
- TuesPechkin无法加载DLL’wkhtmltox.dll’
- Selenium RemoteWebDriver c# – System.InvalidOperationException