VS.2010.C#.LINQ 学习(一)-基础+分组
来源:互联网 发布:长笛演奏实用教程 淘宝 编辑:程序博客网 时间:2024/06/05 07:13
LINQ,好强大,处理缓存中的数据非常方便。
1.where:
public void Linq1() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var lowNums = from n in numbers where n < 5 select n; Console.WriteLine("Numbers < 5:"); foreach (var x in lowNums) { Console.WriteLine(x); } }
Result
Numbers < 5:
4
1
3
2
0
2.select:
public void Linq6() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var numsPlusOne = from n in numbers select n + 1; Console.WriteLine("Numbers + 1:"); foreach (var i in numsPlusOne) { Console.WriteLine(i); } }
Result
Numbers + 1:
6
5
2
4
10
9
7
8
3
1
public void Linq8() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; string[] strings = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; var textNums = from n in numbers select strings[n]; Console.WriteLine("Number strings:"); foreach (var s in textNums) { Console.WriteLine(s); } }
Result
Number strings:
five
four
one
three
nine
eight
six
seven
two
zero
public void Linq9() { string[] words = { "aPPLE", "BlUeBeRrY", "cHeRry" }; var upperLowerWords = from w in words select new { Upper = w.ToUpper(), Lower = w.ToLower() }; foreach (var ul in upperLowerWords) { Console.WriteLine("Uppercase: {0}, Lowercase: {1}", ul.Upper, ul.Lower); } }
Result
Uppercase: APPLE, Lowercase: apple
Uppercase: BLUEBERRY, Lowercase: blueberry
Uppercase: CHERRY, Lowercase: cherry
public void Linq12() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var numsInPlace = numbers.Select((num, index) => new { Num = num, InPlace = (num == index) }); Console.WriteLine("Number: In-place?"); foreach (var n in numsInPlace) { Console.WriteLine("{0}: {1}", n.Num, n.InPlace); } }
Result
Number: In-place?
5: False
4: False
1: False
3: True
9: False
8: False
6: True
7: True
2: False
0: False
public void Linq14() { int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 }; int[] numbersB = { 1, 3, 5, 7, 8 }; var pairs = from a in numbersA from b in numbersB where a < b select new { a, b }; Console.WriteLine("Pairs where a < b:"); foreach (var pair in pairs) { Console.WriteLine("{0} is less than {1}", pair.a, pair.b); } }
Result
Pairs where a < b:
0 is less than 1
0 is less than 3
0 is less than 5
0 is less than 7
0 is less than 8
2 is less than 3
2 is less than 5
2 is less than 7
2 is less than 8
4 is less than 5
4 is less than 7
4 is less than 8
5 is less than 7
5 is less than 8
6 is less than 7
6 is less than 8
3.group by :
//以n%5余数进行分组,g.Key是n%5的值,g是这个组中分配的numbers成员
public void Linq40() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var numberGroups = from n in numbers group n by n % 5 into g select new { Remainder = g.Key, Numbers = g }; foreach (var g in numberGroups) { Console.WriteLine("Numbers with a remainder of {0} when divided by 5:", g.Remainder); foreach (var n in g.Numbers) { Console.WriteLine(n); } } }
Result
Numbers with a remainder of 0 when divided by 5:
5
0
Numbers with a remainder of 4 when divided by 5:
4
9
Numbers with a remainder of 1 when divided by 5:
1
6
Numbers with a remainder of 3 when divided by 5:
3
8
Numbers with a remainder of 2 when divided by 5:
7
2
- VS.2010.C#.LINQ 学习(一)-基础+分组
- VS.2010.C#.LINQ 学习(二)-Max()函数
- VS.2010.C#.LINQ 学习(三)-not in、排序、分页
- VS.2010.C#.LINQ 学习(四)-修改后的分页
- VS.2010.C#.LINQ 学习(五)-左连接
- C#Linq分组汇总
- LINQ学习心得分享----(一)LINQ简介和基础学习
- LINQ学习心得分享--------(一)LINQ简介和基础学习
- LINQ 基础(一)
- Linq基础(一)
- LINQ基础(一)
- LINQ 之查询基础学习笔记(一)
- .NET基础学习(LINQ)
- .NET基础学习(LINQ)
- LINQ 分组
- linq学习笔记(一)
- linq学习笔记(一)
- Linq学习一
- 非编程天才参与开源项目的14种方式
- File System Drivers & File System Filter Drivers
- IO
- android发送json数据到服务器(框)
- POJ 1062昂贵的聘礼(最短路径.Dijkstra)
- VS.2010.C#.LINQ 学习(一)-基础+分组
- mapminmax的用法
- 2012腾讯实习面试题
- Java同步机制总结--synchronized
- C#各种反射动态赋值取值方法
- pjsip
- 利用Lambda获取类中属性的名称
- 一个很好的学习Linux的网站
- sicily--1194. Message Flood