首页 > 代码库 > Linq几样特点
Linq几样特点
LinQ 是 .net framework 3.5的技术,对集合的查询和操作十分方便,结合LinQ Provider ,可以更方便操作XML和SQL(或Entity)。
LinQ有6样常用的特性:
- 自动属性
- 隐形类型
- 对象集合初始器
- 匿名类
- 扩展方法
- Lambda表达式
自动属性就是,之前实体类的写法,需要有字段和属性赋值,现在都省略了,写成:
public class users{ public int uid{get;set;} }
隐形类型就是,可以使用类似javascript的var来声明变量了,编译时赋值后,就不能改变数据类型。
var i = 123;var x;x="abc";
对象集合初始器就是,类似以前重载构造函数,用构造函数赋值的方法,现在更方便的做法:
//简单的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);
Linq几样特点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。