Linq标准查询运算及用法
生活随笔
收集整理的這篇文章主要介紹了
Linq标准查询运算及用法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Linq中的查詢(xún)運(yùn)算符:
2 ? static void WhereData()
3 {
4 var db = new NorthwindDataContext();
5 var stockBase = from b in db.BaseData2s where b.ID > 10683 select new { b.ID, b.ChiName };
6 foreach (var item in stockBase)
7 {
8 Console.WriteLine(item);
9 }
10 Console.WriteLine();
11 string[] nums = { "fdfd", "fdfd", "32", "fsdffsf", "fdf", "fdf", "4324342", "fddffa" };
12 //過(guò)濾字符長(zhǎng)度小于索引的值
13 ? var shortnum = nums.Where((num, index) => num.Length < index);
14 foreach (var item in shortnum)
15 {
16 Console.WriteLine(item);
17 }
18 }
19 //分區(qū)運(yùn)算符Take,Skip,TakeWhile,SkipWhile
20 static void TakeData()
21 {
22 var db = new NorthwindDataContext();
23 var based = from b in db.BaseData2s select new { b.ID, b.EngName };
24 //得到前三個(gè)的值
25 var first3 = based.Take(3);
26 foreach (var item in first3)
27 {
28 Console.WriteLine("first3:{0}\t{1}", item.ID, item.EngName);
29 }
30 Console.WriteLine();
31 //得到第三位后面的值
32 var last = based.Skip(3);
33 foreach (var item in last)
34 {
35 Console.WriteLine("last:{0}\t{1}", item.ID, item.EngName);
36 }
37 Console.WriteLine();
38 int[] numbers = { 5, 4, 8, 9, 3, 0, 6, 7, 2, 33 };
39 //得到小于9前面的值
40 var firstLess6 = numbers.TakeWhile(n => n < 9);
41 //得到元素值是否不是3的倍數(shù),是則返回當(dāng)前位置后的元素(包括當(dāng)前元素)
42 var butfirst2 = numbers.SkipWhile(n => n % 3 != 0);
43 foreach (var item in firstLess6)
44 {
45 Console.WriteLine("first6:{0}", item);
46 }
47 Console.WriteLine();
48 foreach (var item in butfirst2)
49 {
50 Console.WriteLine("2:{0}", item);
51 }
52 }
53
54 //使用集合運(yùn)算符Union并集,Intersect交集,Except差集,Distinct移除重復(fù)值
55 static void Linq1()
56 {
57 int[] numbers = { 2, 2, 3, 51, 51, 5, 5 };
58 var distinctnumbers = numbers.Distinct();
59 foreach (var item in distinctnumbers)
60 {
61 Console.WriteLine("distince:{0}", item);
62 }
63 Console.WriteLine();
64
65 int[] numberA = { 0, 2, 4, 5, 6, 8, 9 };
66 int[] numberB = { 1, 3, 4, 5, 7, 8, 11 };
67 distinctnumbers = numberA.Union(numberB);
68
69 foreach (var item in distinctnumbers)
70 {
71 Console.WriteLine("Union:{0}", item);
72 }
73 Console.WriteLine();
74 var intersectnumber = numberA.Intersect(numberB);
75 foreach (var item in intersectnumber)
76 {
77 Console.WriteLine("Intersect:{0}", item);
78 }
79 Console.WriteLine();
80 var Exceptnumber = numberB.Except(numberA);
81 foreach (var item in Exceptnumber)
82 {
83 Console.WriteLine("Except:{0}", item);
84 }
85 Console.WriteLine();
86 }
87
88 //使用分組運(yùn)算符
89 static void LinqGroupBy()
90 {
91 string[] words = { "blueberry", "chimpanzee", "abacus", "banana", "apple", "cheese" };
92 //以字符中的第一個(gè)字母分組
93 var wordGroups = from w in words group w by w[0] into g select new { FirstLetter = g.Key, Words = g };
94 foreach (var item in wordGroups)
95 {
96 Console.WriteLine("words that start with letter '{0}':", item.FirstLetter);
97 foreach (var w in item.Words)
98 {
99 Console.WriteLine(w);
100 }
101 }
102
103 var wordgroup2 = words.GroupBy(a => a[0]);
104 foreach (var item in wordgroup2)
105 {
106 Console.WriteLine("words that start with letter '{0}':", item.Key);
107 foreach (var w in item)
108 {
109 Console.WriteLine(w);
110 }
111 }
112 }
113
114 //元素運(yùn)算符First,FirstOfDefault
115 static void LinqFirst()
116 {
117 int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
118 var number = (from n in numbers where n >= 6 select n).First();
119 Console.WriteLine("First:{0}", number);
120 //查詢(xún)第一個(gè)為2的倍數(shù)
121 int evenNum = numbers.First(n => n % 2 == 0);
122 Console.WriteLine();
123 Console.WriteLine(evenNum);
124
125 int[] numbers2 = { };
126 int firstDefault = numbers2.FirstOrDefault();
127 Console.WriteLine("firstDefault:{0}", firstDefault);
128 }
129
130 //限定運(yùn)算符any,all,contains
131 static void LinqAny()
132 {
133 string[] words = { "blueberry", "chimpanzee", "abacus", "banana" };
134 //判斷是否有字符包含'ba'元素
135 bool afterBa = words.Any(b => b.Contains("ba"));
136 Console.WriteLine(afterBa);
137
138 //判斷是否所有字符都包含'ba'元素
139 bool afterAll = words.All(b => b.Contains("ba"));
140 Console.WriteLine(afterAll);
141
142 }
轉(zhuǎn)載于:https://www.cnblogs.com/JeJeXu/archive/2011/05/16/2047847.html
總結(jié)
以上是生活随笔為你收集整理的Linq标准查询运算及用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: __doPostBack用法 【csdn
- 下一篇: Oracle 数字与空值的排序问题