Linq查询

Linq查询,是对实现了IEnumerable接口的对象的操作;

int[] values = { 1, 2, 5, 2, 3, 5, 5, 3, 4, 3, 3 };

            var result = from item in values

                      group  item by item into g

                      orderby g.Count() descending

                      select new {数字=g.Key,次数=g.Count()};

        foreach (var item in result.Take(3))

         {

             Console.WriteLine(item.数字+"="+item.次数);

        }

From item in values,类似于foreach中的参数一样,values是一个数组,item表示values中的一个元素,由于item可能是引用类型,所以可能会有一些属性,这样可以把item理解成一张表,它的属性可以理解成表中的字段,然后by后面跟的就是根据哪个字段分组。然后可以把分组后的数据放到一组中into g,g表示的是组的名字。然后还可以对组进行操作,比如orderby 排序,descending表示降序排序。Select 表示赋值给变量,如果变量时var[]类型的话,可以使用匿名类型。

匿名类型:new{属性1=value,属性2=value,属性3=value};表示建立了一个匿名类型的对象;

如果又声明了一个相同类型的匿名类型,则不会再新建一个新的匿名类型;而使用存在的匿名类型。

Var val=from item in values where bool表达式。 查询条件。Where后的表达式可以是任何布尔的表达式。

IEnumerable<T>的扩展方法有很多,可以看看,比如avg,max,min,Connect,take,first;等等。Take(int num)表示去结果集的前几个记录。

 

Var是一个可以推断类型的变量,它不能作为参数类型,不能作为返回值类型。比如var a=10;

a是一个整型,如果a=”3”,则报错。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值