LinQ 是 .net framework 3.5的技术,对集合的查询和操作十分方便,结合LinQ Provider ,可以更方便操作XML和SQL(或Entity)。

LinQ有6样常用的特性:

  1. 自动属性
  2. 隐形类型
  3. 对象集合初始器
  4. 匿名类
  5. 扩展方法
  6. Lambda表达式

自动属性就是,之前实体类的写法,需要有字段和属性赋值,现在都省略了,写成:

public class users{public int uid{get;set;}
}

隐形类型就是,可以使用类似javascript的var来声明变量了,编译时赋值后,就不能改变数据类型。

var i = 123;

对象集合初始器就是,类似以前重载构造函数,用构造函数赋值的方法,现在更方便的做法:

//简单的
User user = new User{id=1;name="bb";sex="男";}
//嵌套的
User user = new User{new Address{city="深圳";qu="福田区";}
}
//用集合List的数组类
List<User> user = new List{new User{id=1;name="AA";sex="男"},new User{id=2;name="BB";sex="女"}
}

匿名类就是,隐形类型+对象集合初始器

var u = new User{id=1;name="aa";sex="男"};

扩展方法就是,静态方法都可以直接在变量上使用了,如:

//静态的公用方法
public static class common{public static bool IsNum(this sting s){//判断是否数字Regex regex = new Regex(@"^[0-9]*$");return regex.IsMatch(s);}
}//在别的类
public class a{public void abc(){string str1 = "123";str1.IsNum();}
}

Lambda表达式(冷打)就是,s=>s.IndexOf("abc") > 0       规则是(参数列表)=>表达式或查询语句,目前知道的可以用在委托和是Prodicate<T>的时候。

//委托
delegate int get1(int);
get1 bb = s=> s * s;
int j = bb(5); //j=25//Prodicate<T>
List<int> temp = new List<int>{1,2,3};
var aa1 = temp.FindAll(s => s == 1);

转载于:https://www.cnblogs.com/laokchen/p/5846762.html

【.NET】Linq几样特点相关推荐

  1. LINQ篇:ASP.NET using LINQ(Part One) Scott大师的产物

    [原文地址]Using LINQ with ASP.NET (Part 1) [原文发表日期]Sunday, May 14, 2006 9:49 PM 最近使我激动不已的新鲜事之一就是LINQ系列技术 ...

  2. 英语阅读推荐:使用AJAX+WF+LINQ制作Google IG式首页

    如果你既想学习ASP.NET AJAX,又想学习Windows Workflow Foundation,还想学习LINQ(包括DLinq和XLinq),能够一次过满足你三个愿望的除了Kinder出奇蛋 ...

  3. 30分钟LINQ教程

    在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在fore ...

  4. 30分钟LINQ教程【转】

    千万别被这个页面的滚动条吓到!!! 我相信你一定能在30分钟之内看完它!!! 在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之 ...

  5. 由浅到深讲解C#-LINQ

    在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在fore ...

  6. 使用Dynamic LINQ实现Ext Grid的远程排序

    要实现Ext Grid的远程排序其实很简单,只要修改查询语句的排序关键字就可以了,但是,如果你的项目是使用Linq进行开发的,会发现动态修改排序关键字并不是那么容易的事,解决办法就是使用LINQ Dy ...

  7. 快速解读linq语法

    在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在fore ...

  8. C#规范整理·集合和Linq

    LINQ(Language Integrated Query,语言集成查询)提供了类似于SQL的语法,能对集合进行遍历.筛选和投影.一旦掌握了LINQ,你就会发现在开发中再也离不开它.   开始! 前 ...

  9. 手把手教你用好LINQ to SQL(1)

    From: http://developer.51cto.com/art/200904/120915.htm 作者写下这篇文章的主要目的不是"一口吃成个胖子"让大家一次就学会LIN ...

最新文章

  1. NTFRS事件ID:13568
  2. [实验]通过内核Patch去掉iOS-v4.3.3的沙盒特性
  3. FLOW福禄创始人朱萧木:如何通过产品设计助力品牌营销传播
  4. 获取 iPhone 上联系人姓名、电话、邮件的代码
  5. go map(映射)的概念、3种创建方式及map的CRUD操作
  6. 2、Qt Project之鼠标事件监控
  7. 可重构计算芯片是未来吗?开发者如何抓住这一机会
  8. C++中两种计算时间方法的比较
  9. 改变浏览器窗口的大小和位置
  10. JavaEE学习总结(十四)— 人工智能微博
  11. 《模拟电子技术基础》课程笔记(一)——绪论
  12. 华为usb 无线网卡 linux,Linux下使用华为h3c Aolynk WuB320G无线网卡
  13. 基于Java(SSM)+MySQL的二手书籍交易系统【100010084】
  14. 数据分析报告编写规范
  15. redis 经纬度_【SpringBoot DB 系列】Redis 高级特性之 GEO
  16. Beego2 使用Session时SetCookie无效
  17. sweet-alert的swal()出现瞬间自动消失(type:“success”类型)
  18. 深入理解Java之线程池
  19. Python - Requests库下载图片
  20. Mybatis学习总结(结合个人理解)

热门文章

  1. 客户商品生命周期应用
  2. 用matlab画声偶级辐射,matlab结题报告(电偶极子的辐射场)
  3. 系统学习NLP(十八)--文本分类概述
  4. python3.8-运行jupyter 报raise NotImplementedError
  5. php post 漏洞_WordPress漏洞分析
  6. flume拦截器及自定义拦截器
  7. 嵌入式Linux上没有x-window系统环境运行qt程序的方法
  8. 新鲜出炉的头条面试算法
  9. JavaScript 是如何工作的:WebRTC和对等网络的机制!
  10. 抓住数字经济机遇 新华三助力客户加速转型