LINQ查询语法

一、LINQ查询时又两种语法可供选择:方法语法(Fluent Syntax)和查询语法(Query Expression)

  1、方法语法:本质是通过扩展方法和Lambda表达式来创建查询

  3、查询语法:查询比较类似于SQL查询

  关系:.NET公共语言运行库(CLR)并不具有查询语法的概念。所以,编译器会在程序编译时把查询表达式转换为方法语法,即对扩展方法的调用。所以使用方法语法会让我们更加接近和了解LINQ的实现和本质,并且一些查询只能表示为方法调用,如检索序列中的最大值、最小值元素的查询,他们在查询语法中就没有对应的实现。这两种语法和互相补充和兼容的,我们可以在一个查询中混合使用方法语法和查询语法。

 

二、链接查询运算符

  如果需要创建更加复杂的查询,我们可以在表达式之后添加其他查询运算符,产生一个查询链;一个运算符的输出sequence会成为下一个运算符的输入sequence,其结果形成了一个sequence的传输链

static void Main(string[] args)
        {
            string[] names = { "Tom", "Dick", "Harry", "Mary", "Jay" };

            IEnumerable<string> query = names
                .Where(n => n.Contains("a"))
                .OrderBy(n => n.Length)
                .Select(n => n.ToUpper());
 
            foreach (string name in query) Console.WriteLine(name);
        }
 
        // Result:
        JAY
        MARY
        HARRY

 

三、扩展方法的重要性

  

转载于:https://www.cnblogs.com/xionghot/p/4518214.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值