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

河北省建设厅工程信息网站网站开发的响应式和兼容性问题

河北省建设厅工程信息网站,网站开发的响应式和兼容性问题,优秀的app界面设计案例,手机网站推荐一#xff1a;背景1. 讲故事好消息#xff0c;.NET 5.0 终于在2020年6月10日发布了第五个预览版#xff0c;眼尖的同学一定看到了在这个版本中终于支持了 C# 9.0#xff0c;此处有掌声#xff0c;太好了#xff01;#xff01;#xff01;.Net5官方链接可以看到目前的C… 一背景1. 讲故事好消息.NET 5.0 终于在2020年6月10日发布了第五个预览版眼尖的同学一定看到了在这个版本中终于支持了 C# 9.0此处有掌声太好了.Net5官方链接可以看到目前的C#9还是预览版实现了一部分新语法供开发者提前尝鲜从github的roslyn仓库上可以看到目前准备实现 17个新特性现阶段已经实现了8个其中的 In Progress 表示正在开发中。新特性预览2. 安装必备下载最新的net5 sdk吧dotnet-sdk-5.0.100-preview.5.20279.10-win-x64.exe下载最新的 visual studio 2019 preview 2找好你自己的vs版本类型哦。。。二新特性研究1. Target-typed new这个取名一定要留给学易经的大师傅没见过世面的我不敢造次取得不佳影响时运所谓 运去金成铁, 时来铁似金 不过大概意思就是说直接new你定义的局部变量的类型用issues中总结的话就是 Summary: Allow Point p new (x, y); Shipped in preview in 16.7p1. 接下来就是全部代码看看使用前 和 使用后 的具体差别。class Program{static void Main(string[] args){//老语法var person new Person(mary, 123456);//新语法Person person2 new(mary, 123456);Console.WriteLine($person{person}person2{person2});}}public class Person{private string username;private string password;public Person(string username, string password){this.username username;this.password password;}public override string ToString(){return $username{username},password{password} \n;}} 然后用ilspy去看看下面的il代码是不是省略了Person让自己心里踏实一点。总的来说这语法还行吧能起到延长键盘使用寿命的功效。2. Lambda discard parameters从字面上看大概就是说可以在lambda上使用取消参数听起来怪怪的那本意是什么呢有时候lambda上的匿名方法签名的参数是不需要的但在以前必须实打实的定义这样就会污染方法体也就是可以在body中被访问如下图但有时候因为客观原因必须使用Funcint,int,int这样的委托而且还不想让方法签名的参数污染方法体我猜测在函数式编程中有这样的场景吧可能有点类似MVC中的EmptyResult效果。好了我想你大概知道啥意思了接下来实操一把。。。Funcint, int, int func (_, _) {return 0;};var result func(10, 20); 从图中可以看到我在方法体中是找不到所谓的 _ 变量的这就神奇了怎么做到的呢带着这个好奇心看看它的IL代码是个什么样子。 .method private hidebysig static void Main (string[] args) cil managed {// Method begins at RVA 0x2048// Code size 45 (0x2d).maxstack 3.entrypoint.locals init ([0] class [System.Runtime]System.Func3int32, int32, int32 func,[1] int32 result)IL_0000: nopIL_0001: ldsfld class [System.Runtime]System.Func3int32, int32, int32 ConsoleApp1.Program/c::9__0_0IL_0006: dupIL_0007: brtrue.s IL_0020IL_0009: popIL_000a: ldsfld class ConsoleApp1.Program/c ConsoleApp1.Program/c::9IL_000f: ldftn instance int32 ConsoleApp1.Program/c::Mainb__0_0(int32, int32)IL_0015: newobj instance void class [System.Runtime]System.Func3int32, int32, int32::.ctor(object, native int)IL_001a: dupIL_001b: stsfld class [System.Runtime]System.Func3int32, int32, int32 ConsoleApp1.Program/c::9__0_0IL_0020: stloc.0IL_0021: ldloc.0IL_0022: ldc.i4.s 10IL_0024: ldc.i4.s 20IL_0026: callvirt instance !2 class [System.Runtime]System.Func3int32, int32, int32::Invoke(!0, !1)IL_002b: stloc.1IL_002c: ret } // end of method Program::Main从上面的IL代码来看 匿名方法 变成了c类的Mainb__0_0方法,完整签名 ConsoleApp1.Program/c::Mainb__0_0(int32, int32)然后再找一下 Mainb__0_0 方法的定义。 .class nested private auto ansi sealed serializable beforefieldinit cextends [System.Runtime]System.Object.method assembly hidebysiginstance int32 Mainb__0_0 (int32 _,int32 _) cil managed{// Method begins at RVA 0x2100// Code size 7 (0x7).maxstack 1.locals init ([0] int32)IL_0000: nopIL_0001: ldc.i4.0IL_0002: stloc.0IL_0003: br.s IL_0005IL_0005: ldloc.0IL_0006: ret} // end of method c::Mainb__0_0这说明什么呢说明两个参数是真实存在的但编译器捣了鬼做了语法上的限制不让你访问所谓的 _。等等。。。有一个问题IL中的方法签名怎么是这样的 Mainb__0_0 (int32 _,int32 _), 大家应该知道方法签名中不可以出现重复的参数名比如下面这样定义肯定是报错的。这说明什么说明这个语法糖不仅需要编译器支持更需要底层的JIT支持那怎么证明呢我们用windbg去底层挖一挖。。。为了方便调试,修改如下static void Main(string[] args){Funcint, int, int func (_, _) {Console.WriteLine(进入方法体了);Console.ReadLine();return 0;};var result func(10, 20);}0:000 !clrstack -p OS Thread Id: 0x52e8 (0) 0000007035F7E5C0 00007ffaff362655 ConsoleApp1.Programc.b__0_0(Int32, Int32) [C:\5\ConsoleApp1\ConsoleApp1\Program.cs 13]PARAMETERS:this (0x0000007035F7E600) 0x000001968000cb48_ (0x0000007035F7E608) 0x000000000000000a_ (0x0000007035F7E610) 0x0000000000000014 从图中可以看到虽然都是 _ ,但在线程栈上是完完全全的两个栈地址。 0x0000007035F7E608 和 0x0000007035F7E610。三总结总的来说C#是越来越像函数式编程靠拢越来越像Scala就像Jquery的口号一样Write lessdo more。好了先就说这两个吧大家先安装好工具明天继续解剖~~~
http://wiki.neutronadmin.com/news/359101/

相关文章:

  • cpu占用超出网站空间的分配值中国50大电商排名
  • 深圳网站设计模板泰州专业网站建设公司
  • 响应式网站新闻部分怎么做站长之家域名查询官网
  • 建设网站开发wap网站 区别
  • 网站建设企业战略百度seo优化分析
  • 郑州建设网站建站专业做图片制作网站
  • 杭州住房和城乡建设局网站帮做暑假作业网站
  • 子域名做微信开放平台网站应用wordpress插件 网站跳转
  • 网站到首页排名昆明城乡建设网站
  • 网站建设与推广实训报告册有哪些做外贸的网站
  • 民宿设计网站大全贵州省领导班子名单一览表
  • 网站开发的工作职责小程序代理加盟前景
  • 建网站要多少钱一个月免费手机h5模板网站模板下载
  • 国通快速建站深圳seo优化公司唯八seo
  • 东莞网站建设方案托管网站建设设计流程
  • 门户网站目标客户公司网站制作公司倒闭
  • 合肥 做网站的公司晋城网站制作公司怎么选
  • 儋州网站设计公司二手车网站怎么做
  • 怎样做代刷网站WordPress博客手机主题
  • 我的世界做视频封面的网站中国人在线观看免费高清
  • 南京网站制作建设php搭建wordpress
  • 自助设计网站具有价值的网站制作
  • 网站建设书店目标客户分析网站建设的功能和定位
  • 神鹰网站建设公司公司网页设计需要跟设计公司洽谈的问题
  • 深圳网站建设龙华信科企业推广方式优选隐迅推
  • 厦门网站建设阿里外贸品牌网站制作
  • 用python做网站开发的课程设计一款app
  • 建一个个人网站多少钱icp备案域名购买
  • 制作网站必做步骤app开发制作在哪里的
  • 自己做资金盘网站速升网网站是多少钱