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本质是什么
分享链接:https://www.cdcxhl.com/article20/gcicjo.html

成都网站建设公司_创新互联,为您提供网站营销定制开发搜索引擎优化网站改版自适应网站网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网页设计公司