linq读书笔记1-linq 初步

至于linq是什么之类的已经有过太多的文章介绍,亦不清楚的胡朋友可以自己搜索一下便可以得到大量的答案

为了体验linq究竟能带给我们什么体验,我们直接从代码入手:


            string[] words = new string[] { "test","test1","linqtosql","linqtoobject","beautiful"};


            var result = from p in words
                         where p.Length > 5
                         select p;
            Console.WriteLine(result.GetType());
            foreach (var item in result)
            {
                Console.WriteLine(item);
            }
            Console.Read();

以上代码即为实现从一个数组中获取长度大于5的集合,linq返回的结果类型可以result.GetType()进行查看,回想一下在没有linq之前我们如果要实现相同的功能的话需要如何实现,是否是需要这样做呢:

foreach(var item in words)

{

  if (item.length>5)

    console.writeline(item);

}

从以上这两段简单代码上比较似乎linq并没有带给我们什么神奇胡内容,但是我们接着往下看。

string[] words = new string[] { "test","tes1","linqtosql","linqtoobject","beautiful"};
            var result = from p in words
                         orderby p descending
                         group p by p.Length into tempqroup
                         orderby tempqroup.Key descending
                         select new {
                             length=tempqroup.Key,
                             words=tempqroup
                                        };
         
            foreach (var item in result)
            {
                foreach (var p in item.words)
                {
                    Console.WriteLine(p);
                }
            }
            Console.Read();

以上我们则是实现一个对数组内容按单词长度分组的一个功能,如果我们要使用传统的代码实现 的话会发现将不得不去写很多的代码,对吗?

好了linq的开胃菜到此结束,后面linq胡更多的应用将展开。

原文地址:https://www.cnblogs.com/lijintian/p/3813585.html