美文网首页
Linq&Lambda

Linq&Lambda

作者: 心彻 | 来源:发表于2016-07-19 14:59 被阅读102次

    2016-06-27 16:30
    周陈

    一、关于LINQ
    30分钟LINQ教程
    这篇文章可以让人明白,为什么每次讲到LINQ都会讲到Lambda,讲到委托,讲到匿名等等,也就是第一部分的内容:与LINQ有关的语言特性。

    Linq之旅:Linq入门详解(Linq to Objects)
    这篇文章主要介绍了LINQ to Objects的操作方法,比较详细,而且也有代码。

    LINQ专题

    细说Linq之Aggregate这篇文章真是太神奇了,比如求1到100的和,这可是数学王子高斯的经典啊!再比如求5的阶乘。大多数的人可能会用循环去做,代码如下:

                //求和
                var sum=0;
                for (int i = 1; i <= 100; i++)
                {
                    sum += i;
                }
                Console.WriteLine(sum);
                
                //求阶乘
                var mul = 1;
                for (int i = 1; i <= 5; i++)
                {
                    mul *= i;
                }
                Console.WriteLine(mul);
    

    有了LINQ的Aggregate,只需一行代码即可实现,如下:

                //求和
                var list = Enumerable.Range(1, 100);
                var result = list.Aggregate((a, b) => (a + b));
                Console.WriteLine(result);
                
                //求阶乘
                var list2 = Enumerable.Range(1, 5);
                var result2 = list2.Aggregate(1, (a, b) => (a * b));
                Console.WriteLine(result2);
    

    LINQ的Enumerable类里有35个方法,在使用到LINQ时,经常会用到这些方法,没事翻一翻,对List<T>类型的数据做过滤操作、排序操作等都会用到的。

    二、关于Lambda
    lambda表达式之进化这篇文章将Lambda的进化讲解得偏僻如理,清晰明了啊!

    Lambda表达式进化

    Lambda的本质就是匿名方法
    Lambda是LINQ的基础,这么看来,应该把Lambda放前面写的

    PS:
    1、为什么有些人特别讨厌Lambda呢?我觉得挺好的呀,很简单的代码可以做很复杂的事情呢。
    2、其实这也是一个培训笔记,但是因为我完全没理解讲师讲了些什么,所以就自己去网上找了这些文章来补充一下,学习一下了。

    相关文章

      网友评论

          本文标题:Linq&Lambda

          本文链接:https://www.haomeiwen.com/subject/xfkljttx.html