zoukankan      html  css  js  c++  java
  • LINQ中的Let关键字

    据说这是.NET 3.5SP1中的一个增强,LET关键字目前我看起来就是对子查询的一个别名

    static void Main(string[] args)
    {
        int[] numbers = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

        //传统下的子查询做法
        var query = from num in numbers
                    select num * (from n in numbers
                                  where n % 2 == 0
                                  select n).Count();

        //使用LET关键字的做法
        //var query = from num in numbers
        //            let evenNumbers = from n in numbers
        //                              where n % 2 == 0
        //                              select n
        //            select num * evenNumbers.Count();

        foreach (var item in query)
        {
            Console.WriteLine(item);
        }

        Console.Read();

    }

    我们一看就会知道,用了LET之后,层次感会更好一些,代码更易于阅读

  • 相关阅读:
    排序二——交换排序
    桥接模式 Bridge
    外观模式Facade(解耦)
    装饰模式和代理模式的区别
    代理模式 proxy
    装饰器模式 Decorator
    适配器模式
    android launcher-启动过程
    ubuntu 编译openwrt
    Eclipse Memory Analyzer tool(MAT)
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1446017.html
Copyright © 2011-2022 走看看