复习linq

                                                  复习linq

         linq的英文是language integrated query。其中query的意思就是疑问或者计算机用语就是从资料库中提取信息的要求,可以理解为查询的意思。那么它翻译过来的话就是集成查询语言。其命名空间是:System.Linq。

         它的基本写法如下:

        from 一个临时的变量 in 一个实现了IEnumeralbe<T>接口的对象。

        where 条件

          order by 条件

         group by 条件

         select 上面那个临时的变量

        然后也许有人会问,为什么不是以select开头,而是以from开头的。我只是记得以前微软老以前的linq是select写在前面的,后面发现那样写不好,就改成了先写from,大概原因,好像是因为智能感知会很麻烦。具体情况我也不大清楚。我是记得这个用法,也就未求甚解了。有兴趣的博友,如果知道原因,可在下面留言告之。对于以上的那个对象需要是实现了IEnumerable<T>接口的对象才可以的。比如,说数组,我们在VS上敲上Array然后光标置之其的F12转到定义会看到这个图,那么就说明数组才可以用LINQ的。

        小举一例,现在一个Int数组,要求显示出其中的奇数。用linq做。

        这里呢,就先用fro循环和if条件写一下,其图与结果如下:

       

  这个签于过于简单,也就不多说了。下面呢就是用linq做的,其图如下:

  

稍微注意一下的就是:要将整个linq表达式ToList()一下,也就是将之变成一个集合,for循环才好遍历之,另外就是既然是集合了就不在找length了,需要点出来的是Count.另外,linq是可以做到延迟加载的或者说是延迟显示的,也就是我linq表达式写完了,但它并没有真正的去执行,如上面的代码,而是在我将之ToList()之后,它才会去查的。这样可以减少查询的次数。

    然后,也就是这些很浅的一些关于linq的知识了。今天就到这里了。

posted @ 2013-10-06 22:55  公子若不胖天下谁胖  阅读(324)  评论(3编辑  收藏  举报