没有合适的资源?快使用搜索试试~ 我知道了~
LINQ的经典例子-Where,Select、SelectMany、SkipWhile子句中使用数组索引.
需积分: 38 21 下载量 178 浏览量
2008-11-14
16:29:54
上传
评论
收藏 19KB DOCX 举报
温馨提示
试读
8页
LINQ的经典例子-Where,Select、SelectMany、SkipWhile子句中使用数组索引.
资源推荐
资源详情
资源评论
Where 子句的用法
我们除了可以如下方式书写带 Where 子句的 LINQ 外:
from p in productswhere p.UnitsInStock > 0 && p.UnitPrice > 3.00Mselect p;
还可以对数组(所有实现了 IEnumerable 接口的对象都可以)的实体使用 Where 扩展方法。
把一个查询语句写成多个扩展函数的方式,这其实是编译器处理查询语句的方法,比如下面的查询语句:
int[] arr = new int[] { 8, 5, 89, 3, 56, 4, 1, 58 };
var m = from n in arr where n < 5 orderby n select n;
编译器在编译后,替我们产生的代码等价于如下的代码:
IOrderedSequence<int> m = arr.Where<int>(delegate (int n) {
return (n < 5);
}).OrderBy<int, int>(delegate (int n) {
return n;
});
下面我们来看一个使用 Where 扩展方法的例子:
我们有一个字符串数组,一次是 0 到 9 的英文单词,我们查询出这 10 个字符的长度比它所在数组的位置 这
两个数字比较小的英文单词.
这个查询可能有些绕口,你可以先看下面这些代码:
public static void LinqDemo01()
{
string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
var shortDigits = digits.Where((dd, aa) => dd.Length < aa);
Console.WriteLine("Short digits:");
foreach (var d in shortDigits)
Console.WriteLine("The word {0} is shorter than its value.", d);
}
输出结果:
资源评论
cs_kuwa
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功