LINQ(2)——LINQ基础

1. 能做什么,将int数组中大于20的元素排序输出:  

 int[] values = { 30, 5, 99, 77, 102, 8, 12, 35 };
            var result = from item in values
                         where item > 20
                         orderby item
                         select item;

2. LINQ(读音link, .Net3.0新特性):Linq To SQL(过时)、Linq To Object、Linq To XML、Linq To entity,目的:以统一的方式对数据进行操作。看起来非常像SQL语句,但是和SQL无关。

3. var关键字,var类型用来简化类型的声明,var i = 2,并不说明i是无类型的,编译器会自动根据右边的值推断(这叫类型推断)var代表的值。var只能用在语句中,不能用在返回值、参数列表等场合。

4. 匿名类型,var s = new { Name = "tom", Age = 30 },在后面的代码中就能用s.Name 这样的方式引用属性了。匿名类型不是动态类型,最终仍然是编译成一个类,用Reflector查看。如果编译器遇到了一个属性完全一致的匿名类型,则会重用这个类型,而不是每次都创建一个新的类型。也是类型推断的一种表现。  

5. string name = "lrj"; int age = 18;var p = new { name,age, name.Length};默认命名属性。

6. 如果推断的属性名冲突,则必须显式指定var p = new { name.Length ,Length2="C#".Length}

7. 如果写程序的时候调用不了Linq的方法,就看看是否using了system.Linq。

附加:

1. using System.Linq; //使用Linq的时候必须using System.Linq;

2. object可以指向任何类型。

3. linq最终都编译成委托,所以当然可以调用.net函数。

4. string.Join后面要求跟的是数组格式,所以遇到数列时可以用ToArray转换成数组。

5. 例:

 Table1TableAdapter adapter = new Table1TableAdapter();
            /*
            强类型DataSet与Var.Database1DataSet.Table1DataTable dt = adapter.GetData();
            强类型DataSet与Var.Database1DataSet.Table1Row row = dt[0];
             */
            var dt = adapter.GetData();
            var row = dt[0];
            var aa = row.aa;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值