C#3.5 新特性(二)——LINQ

Linq(语言级集成查询),这个东西有点类似SQL语句

select语法:
所有的Linq查询有下面基本的3个行为构成:
1,包含数据源
2,创建查询
3,执行查询
下面就是一段代码,表示了查询操作的3部分
using System;
using System.Collections.Generic;
using System.Linq;     //这就是LINQ所属的命名空间,在vs2003和vs2005是没有的,它现在已经登场了!
using System.Text;
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
           //第1步:  包含数据源.
            string[] strings = new string[4] { "江苏省无锡市", "江南大学——江南第一学府", "太糊学院——垃圾", "明言祥语" };
           //第2步:  创建查询.
            var query = from item in strings
                   // 注意:这里的关键词var是C#3.0里才有的特性,叫做“隐含类型”它将告诉编译器,你自己去判断变量的类型吧,编译器会根据不同环境为变量确定不同的类型,语言的使用者又可以偷懒了,^_^。 例如:
          var a = 5 ;                    编译器就会确定变量a的类型为int
          var str ="江南大学太湖学院";     编译器就会确定变量str的类型为string 。
          还有一点就是,var只能用于局部变量!     
                        orderby item
                        group item by item.Length into lengthGroups
                        orderby lengthGroups.Key descending
                        select lengthGroups;
           //上面这句代码就是LINQ查询语句,非常简练,望文生义就能看懂,从语法结构上讲和SQL语句完全相似,之所以说"相似"因为它和SQL语句还是有点区别的,SQL语句的“select”关键词在前面,而LINQ放在了最后面。
            // 第3步: 执行查询.
            foreach (var item in query)
            {
                Console.WriteLine("strings of length ", item.Key);
                foreach (var val in item)
                {
                    Console.WriteLine(val);
                }
            }
        }
    }
}
上面例子中的数据源类型是数组,,是它作为Linq查询的数据源,这是Linq查询是如何执行的。其中的 into 关键字表示将前一个查询的结果视为后续查询的生成器,这里是跟 groupby一起使用的。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值