当前位置: 首页 > news >正文

四川省城乡建设信息网站证件查询到哪里去学营销管理课程

四川省城乡建设信息网站证件查询,到哪里去学营销管理课程,alexa,微信公众号申请注册官网这节来讲一下C#中的匿名类型。匿名类在C#中#xff0c;我们可以不去显示的声明一个类#xff0c;而是通过匿名类去临时声明一个类结构去帮助我们去完成一些功能。声明一个匿名类#xff0c;我们可以像下面这样做#xff1a;var Anonymousnew {namecharles,year…     这节来讲一下C#中的匿名类型。匿名类    在C#中我们可以不去显示的声明一个类而是通过匿名类去临时声明一个类结构去帮助我们去完成一些功能。    声明一个匿名类我们可以像下面这样做var Anonymousnew {namecharles,year18};//声明匿名类对象    需要注意的是匿名类成员只能声明公共的只读属性不能在匿名类中声明方法因此匿名类的作用主要是承载类的数据而非类的行为也就是方法。由匿名类型实例化的对象则被成为匿名对象匿名对象使用var关键字标识。比如说解析一条JSON数据我们完全可以通过匿名类的形式去获取我们想得到的数据请看如下代码string json { \name\:\charles\ , \year\:18 ,\address\:shandong}; var jsonObj JsonConvert.DeserializeAnonymousType(json, new{name string.Empty,year 0}); Console.WriteLine($name is {jsonObj.name},year is {jsonObj.year});    这段代码使用了Newtonsoft.Json中的一个JSON转换方法该方法可以将一条JSON转换为我们指定的匿名对象。如果没有匿名对象我们需要创建一个类去为了转换这一JSON但是使用匿名类就简单许多而且实际上我们只需要关注我们需要的属性即可至于JSON中的其它对象我们可以一概丢弃。       初此以外我们在使用Linq方法Select()的使用也可以用匿名类型//class AnonymousTemp //{ // public int Id { get; set; } // public string Name { get; set; } // public int Year { get; set; } //} ListAnonymousTemp new ListAnonymousTemp(); list.Add(new AnonymousTemp() { Id 1, Name Charles, Year 18 }); list.Add(new AnonymousTemp() { Id 2, Name Chiron, Year 18 }); var aList list.Select(u new{id u.Id,name u.Name});foreach (var item in aList) {Console.WriteLine($name is {item.id},year is {item.name}); }     比如我们查到一组集合我们只关心其中的几个属性当然如果只需要取一个属性则不需要匿名类直接返回该属性值就可以了就可以使用匿名类型。上述代码中 Select方法的参数接受一个委托也就引出了匿名方法但是这个地方我用的并不是匿名方法而是Lambda表达式我们接着讲。匿名方法仅作了解    Select方法需要一个委托类型的参数我们可以直接向里传入一个方法传统的操作需要我们自己声明一个符合要求的委托并且为这个委托传入方法将这个委托作为参数传入Select方法中但是后来为了简化操作在C#2.0推出了匿名委托匿名委托的结构为delegate (参数){//方法体}这样上述Select方法用匿名方法的形式可以改写为如下形式var aList list.Select(delegate (AnonymousTemp u) {return new{id u.Id,name u.Name}; });    这样看似是简单了许多但是为了更加简单在C#3.0微软推出了Lambda表达式是对于匿名方法的进一步简化从对比中我们也可以看出Lambda表达式写起来要更爽一些。因此大家对于匿名方法可以仅做了解而应该着重了解Lambda表达式的使用。真的匿名    匿名方法真的匿名吗为此我们可以反编译一下这个项目就能看到无论是匿名类还是匿名方法编译器在编译时都会为我们创建一个类虽然我们写的少的但编译器并没有少做    下图是编译器解析匿名类为我们生成的真正的类代码    下图是编译器解析匿名方法和Lambda表达式为我们生成的一个类这个类里边是两个方法分别对应我写的匿名方法和Lambda表达式我们可以看出它们最终都被编译为一个委托    但尽管如此匿名类或者匿名方法也只能在其所在的上下文中使用并不能跨作用域访问。本节到此结束...
http://www.yutouwan.com/news/204175/

相关文章:

  • 网站建设 客户评价祺越网站建设
  • 杭州建设网站免费网络公司经营范围包括哪些
  • 做旅游攻略去什么网站好怎么做自己的网站赚钱
  • 找装修公司去哪个网站外贸网站建设公司平台
  • 重庆网站制作公司 网站飘动
  • 口碑最好的网站建设网站建设seo优化公司
  • 毕设做网站酒店宣传推广方案
  • 云服务器做网站新手教程wordpress 插件 手机
  • 网站建设 八羊哪里有做手工活的可以拿回家的
  • 专业的聊城做网站费用dz网站模版
  • 门户网站 营销公众号接入小程序
  • 租房网站的财务分析表怎么做淄博网站建设团队
  • 福州企业制作网站有没有做ppt很厉害的网站
  • 高端企业门户网站建设费用网站开发实训报告
  • 开设赌场罪建设网站用python做一旅游网站
  • php怎么做网站教程数字广东网络建设有限公司是国企吗
  • 蒙城做网站厦门网站建设_
  • wordpress 模块化主题广州seo优化公司排名
  • 余姚网站建设的公司做服饰网站
  • 视频点播网站开发教程Wordpress 插件购买
  • 国外网站源代码1000M双线网站空间
  • 成都网站推广哪家专业安平丝网网站建设
  • 怎么做网站静态布局厦门模板建站平台
  • 哪家做网站最好榆林公司做网站
  • 咨询学校网站开发费用东莞网站建设 鞋材厂
  • 蓬莱做网站那家好wordpress调用id数据
  • 企业网站一般做哪些栏目新网站需要加锚文本吗
  • 专门做淘宝特价的网站沙漠风网站开发怎样
  • 合肥网站建设工作行业网站开发程序
  • 山海关城乡建设局网站在线表单 wordpress