.NET基础学习(LINQ)(5)
9 foreach (var v in query) //枚举分组
10 {
11 Console.WriteLine("{0}",v.Key); //分组键
12 foreach (var t in v) //枚举分组中的项
13 {
14 Console.WriteLine("Name:{0},Sex:{1},Age:{2},Address:{3}", t.Name, t.Sex, t.Age, t.Address);
15 }
16 }消除行号
运行结果:
查询延续
查询延续子句可以接受查询的一部分结果并赋予一个名字,从而可以查询的另一部分中使用。
示例代码如下:
1 var somInts = from a in Enumerable.Range(1, 10)
2 join b in Enumerable.Range(5, 10) on a equals b
3 into groupTemp //查询延续
4 from c in groupTemp
5 select c;
6 foreach (var v in somInts) Console.WriteLine(v);运行结果如下:
使用委托参数和Lambda的示例
public static int Count<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
示例代码如下:
1 IList<int> list = Enumerable.Range(1, 100).ToList();
2 Func<int, bool> myDel = delegate(int x) { return x % 2 == 1; };//委托匿名方法
3 var countOdd1 = list.Count(myDel);//调用委托
4 var countOdd2 = list.Count(x => x % 2 == 1);//Lambda表达式
5 Console.WriteLine("委托参数得到奇数的个数:{0}",countOdd1);
6 Console.WriteLine("Lambda得到奇数的个数:{0}", countOdd2);消除行号
运行结果:
摘自 xu_happy_you
相关新闻>>
- 发表评论
-
- 最新评论 更多>>