重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

Linq本质是什么

这篇文章主要介绍“Linq本质是什么”,在日常操作中,相信很多人在Linq本质是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linq本质是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联自2013年创立以来,先为白碱滩等服务建站,白碱滩等地企业,进行企业商务咨询服务。为白碱滩企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

1.匿名类型

private static void AnonymousType()  {  var v = new { Name = "张三", Sex = true };  //无须显示声明一个类,而且在初始化器里面可以获取上下文的变量——闭包  Console.WriteLine(v.Name);  }

Linq本质:有了匿名类型后我们不需要显示的声明一个类型了,这个类型由C#编译器自动生成,而且利用了初始化器和var的新特性对Linq的意义:和初始化器结合起来构造查询结果集合里面的新元素类型。

2.扩展方法

比如我们现在想给int类型增加(扩展)一个方法,判断一个整数自身是否偶数,我们期望的语法是这样的:

private static void ExtendMethod()  {  int i = 2;  Console.WriteLine(i.IsEven());  }

注意原来int原来是没有IsEven()这个方法的,要实现这个方法,必须写一个静态类和一个静态方法:

static class MyExtention  {  public static bool IsEven(this int num)  //this 表示针对int的实例和索引器的this的含义是一样的,int表示给int这种类型进行扩展  {  return num % 2 == 0;  }   }

Linq本质:编译i.IsEven()的本质是C#编译器生成了了MyExtention.IsEven(i)的代码,实际上仍然没有破坏类型的结构,并不是真的象语法那样平白无故给int增加了一个IsEven()方法,和设计模式里面的Visitor模式动态注入方法还是有区别的。

到此,关于“Linq本质是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


名称栏目:Linq本质是什么
分享URL:http://cqcxhl.com/article/gcicjo.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP