Linq

用linq方法进行查询。在此简单定义一个类M里面含有多个属性,其中name和age为其中的两个属性。

    {
        public int name { get;set;}
        public int age { get; set; }
        public int score { get; set; }
        public int id { get; set; }

    }

定义一个list:

          var Mlist = new List<m>
            {
                new test.m() {name =3,age=12,score=100,id=11 },
                new test.m() {name =7,age=13,score=99,id=11 },
                new test.m() {name =9,age=15,score=97,id=11 },
                new test.m() {name =5,age=17,score=100,id=11 },
                new test.m() {name =6,age=11,score=100,id=11 },
                };

下面采用linq方法对其进行查询,查询mlist中name>5且score==100的类,并按照age的大小进行排序;

                };
            var newlist = from m in Mlist
                          where m.name > 5 && m.score == 100
                          orderby m.age
                          select m;

也可以采用where方法

var newlist = Mlist.Where(m => m.name > 5 && m.score == 100).OrderBy(m=>m.age);

实际都会选择where方法进行处理

我们把上面语句改动如下:

var list1 = Mlist.Where(m => m.name > 2 && m.score == 100).OrderBy(m => m.age).Select(m => m.name).ToList();

则list只是name的集合,所以在此顺便说一下where和select,where选择是选择list中的对象,根据相应条件生成一个新的list,新list的成员仍为原类型,而select则是把选择的成员生成新的list,如语句中m.name,即新集合中成员为name的类型。

 

posted @ 2017-04-29 17:53  81192  阅读(210)  评论(0编辑  收藏  举报