LINQ——查询

  什么是LINQ:LINQ,语言集成查询(Language Integrated Query)是一组用于C#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据(来自百度百科)。

  简单点,LINQ是一种对数据进行操作的语言,类似对数据库的操作。(容易上手)

例子:

<span style="font-size:18px;"> //泛型集合数据persons
            List<string> persons = new List<string>();
            persons.Add("zhang san");
            persons.Add("wang wu");
            persons.Add("li si");
            persons.Add("Zhan san");
            persons.Add("tan  qi");
            persons.Add("gao jiu");
            persons.Add("mao er");

            //输出persons中所有的元素
            //var result = from p in persons select p;
            //输出persons 中姓zhang的人----语句和方法混合编排
            //var result = (from p in persons select p).Where(p => p.StartsWith("zhang"));
            //排序
            var result = from p in persons orderby p select p;
            
</span>
定义一个数组:
<span style="white-space:pre">	</span>   //定义一个int型数组
 int [] arr={324,5,3,564,3423,65,2,78,86,4235,78,54,676,456};</span>
聚合类:
<span style="white-space:pre">	</span>    Console.WriteLine("arr的最大值:" + arr.Max());
            Console.WriteLine("arr的最小值:" + arr.Min());
            Console.WriteLine("arr的平均值:" + arr.Average());
            Console.WriteLine("arr的数组个数:" + arr.Count()); 
            Console.WriteLine("arr的总和:" + arr.Sum());</span>
 
排序类: 
<span style="white-space:pre">	</span>    var result = arr.OrderBy(p => p.ToString().Substring(0, 1));
            var result = arr.OrderBy(p => p.ToString().Substring(0, 1)).ThenBy(p => p);//2次排序
            var t= arr.OrderBy(p => p.ToString().Substring(0, 1));
            var result = from p in t orderby  p descending select p;//降序。ascending 是升序</span>
 
分区类: 

<span style="white-space:pre">	</span>    var result = arr.Skip(3).Take(3);//跳过3个值,再取三个值
            var result = arr.SkipWhile(p => p > 45);//数组中第一个数大于45跳过,取后面的数,如果小于,取所有的数</span>
 
集合类: 
<span style="white-space:pre">	</span>    var result = arr.Distinct();//唯一的值</span>
 
生成类----静态类: 
<span style="white-space:pre">	</span>    var result = System.Linq.Enumerable.Range('a', 30);//生成连续的序列
            var result=System.Linq.Enumerable.Repeat ("aav",5); //重复5次</span>
 
   除了生成类是静态类,其他的聚合类,排序类,分区类和集合类都是扩展类。 

  总结:这个LINQ语言,需要写写代码更加容易加深印象,虽然你看也能看懂,但不保证你过几天就会忘记,所以,还是动动你的手指,找些例子做一做吧。









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值