[读书笔记]C#学习笔记六: C#3.0Lambda表达式及Linq解析
发布时间:2020-12-15 04:42:34 所属栏目:百科 来源:网络整理
导读:p style="background: gray; color: #ffffff; font-size: 18pt;"前言 Main( [] s = []{ , , , , , , result = n s n [] b = ( i = ; i } splitTexts = cmbValidationText.Split( (cmbValidation.Items != cmbValidation.Items.Count > ( splitText valid = c
<p style="background: gray; color: #ffffff; font-size: 18pt;">前言
Main( [] s = []{ ,,,,,, result = n s n < [] b = ( i = ; i < b.Length; i++ }
splitTexts = cmbValidationText.Split( (cmbValidation.Items != && cmbValidation.Items.Count > ( splitText valid = cmbValidation.Items.Any(item => (item != ) && (item.Enabled) && (
(! invalidText += splitText.ToString() + isInvalidTextExist =
categoryAndCapabilities = capabilities.Select(item =>
PRResponseCategory category = PRCapability prCapability = (prCapability != category = { Category = category,PRCapability = prCapability,Capability = .Where(item => (item != && item.Category != && item.PRCapability != .OrderBy(item => .ThenBy(item => item.PRCapability.AllowNumeric.GetValueOrDefault() ? : .ThenBy(item => .GroupBy(item => .ToDictionary(grouping => grouping.Key,grouping => grouping.ToList());
[] arr = [] { ,,,,,,, query = n ( element }
[] arr = []{, query = n n >
( element }
[] arr1= [] {, [] arr2= [] {, query = a b a +
( element }
Main( [] arr = [] {, query = n let isEven = (n % == ? :
( element }
[] arr = []{, query = n n> && n<
( element }
Main( [] arr = [] { , query = n n > && n <
group n by n %
( element }
>),该序列的元素类型为IGrouping 1.5,into子句 1 && n<6:指定筛选大于1且小于6的元素。 [] arr = []{, query = n n>&& n<
group n by n% sn ( element }
[] arra = [] {, [] arrb = []{, query = a a <
join b ( element }
xmlString =
+
+
Barry Wang +
+
+
+
Tony Jia +
+
+
+
Anson Shen +
+
+
Main( Console.WriteLine(
XElement xmlDoc =
queryResults = element xmlDoc.Elements( element.Element().Value ==
( xele Console.WriteLine( + xele.Element().Value + + xele.Attribute( }
"运算符(读作goes to),该运算符的左边是匿名方法的输入参数,右边则是表达式或语句块.
LINQ的书写格式如下: 表达式或者语句块
* s Students.Select( s => s)
sname,ssex, s Students.Select( s => SNAME = s.SNAME,SSEX = s.SSEX,CLASS = })
distinct depart t Teachers.Distinct().Select( t => t.DEPART)
* score degree between and
s s.DEGREE >= && s.DEGREE <
s => s.DEGREE >= && s.DEGREE <
)
* score degree (,, s []{, Scores.Where( s => Decimal[] {,}.Contains(s.DEGREE))
* student = or ssex= N
s s.CLASS ==
|| s.CLASS ==
Students.Where(s => ( s.CLASS == || s.CLASS == ))
* s Students.OrderByDescending(s => s.CLASS)
count(*) student =
( s s.CLASS ==
Students.Where( s => s.CLASS == .Select( s => .Count()
avg(degree) score cno =
s s.CNO ==
Scores.Where( s => s.CNO == .Select( s => s.DEGREE).Average()
distinct s.Sno,c.Cno student s,course c,score s.sno=( sno score degree = ( max(degree) and c.cno = ( cno score degree = ( max(degree) s c sc let maxDegree = ( sss let sno = ( ss ss.DEGREE == let cno = ( ssss ssss.DEGREE == s.SNO == sno && c.CNO == ).Distinct()
avg(degree) score cno like group by Cno having count(*)>=
s s.CNO.StartsWith( cc.Count() >=
cc.Average( c => Scores.Where( s => s.CNO.StartsWith( .GroupBy( s => .Where( cc => ( cc.Count() >= .Select( cc => cc.Average( c => s.CNO.StartsWith() or SqlMethods.Like(s.CNO,)
avg(degree) score cno like group by Cno having count(*)>=
s s.CNO.StartsWith( cc.Count() >=
cc.Average( c => Scores.Where( s => s.CNO.StartsWith( .GroupBy( s => .Where( cc => ( cc.Count() >= .Select( cc => cc.Average( c => s.CNO.StartsWith() or SqlMethods.Like(s.CNO,sans-serif;">13. 多表查询
sc.sno,c.cname,sc.degree course c,score sc c.cno = c join sc
Courses.Join ( Scores,c => sc => (c,sc) =>
SNO = CNAME = DEGREE = })
14,关联多条件查询 感谢@浪子哥 给的建议,现在加上两张表的关联多条件查询,只有Linq和Lambda表达式 今天自己又参考园里大神的一些帖子自己写了一个两张表关联查询的Linq及Lambda表达式的Demo,大家可以看下. DataTable tableA = tableA.Columns.Add(,( tableA.Columns.Add(,( tableA.Columns.Add(,(
DataTable tableB = tableB.Columns.Add(,( tableB.Columns.Add(,( tableB.Columns.Add(,(
tableA.Rows.Add(,, tableA.Rows.Add(,, tableA.Rows.Add(,, tableA.Rows.Add(,,
tableB.Rows.Add(, tableB.Rows.Add(,, tableB.Rows.Add(, tableB.Rows.Add(,,
singleQuery = tableA.AsEnumerable().Where(stu => stu.Field<>() > ( item Console.WriteLine(,item.Field<>(), item.Field<>(
doubleQuery = a b a.Field<>() == b.Field<>() &&
a.Field<>() != b.Field<>( a.Field<>(),a.Field<>(
Name = a.Field<>( A_Age = a.Field<>( B_Age = b.Field<>( ( item Console.WriteLine( |