
发表日期: 2021-04-24 10:40:31 浏览次数:112
无锡网站推广【无锡办理400电话】无锡SEO优化、无锡微信公众号APP客户端小程序开发、无锡网站托管、无锡APP开发
无锡(Wuxi),简称“锡”,古称梁溪、金匮,是江苏省地级市,国务院批复确定的中国长江三角洲的中心城市之一、也是重要的风景旅游城市 [1] ,截至2020年,全市下辖5个区、代管2个县级市,总面积4627.47平方千米,建成区面积552.13平方千米, [2] 截至2019年末,无锡市常住人口659.15万人,其中城镇常住人口508.2万人,常住人口城镇化率77.10%。 [3]
无锡地处中国华东地区,位于江苏省南部,地处长江三角洲平原,是扬子江城市群重要组成部分,北倚长江、南滨太湖,被誉为“太湖明珠”,京杭大运河从无锡穿过;境内以平原为主,星散分布着低山、残丘;属亚热带湿润季风气候区,四季分明,热量充足。
无锡是国家历史文化名城 [4] ,自古就是鱼米之乡,素有布码头、钱码头、窑码头、丝都、米市之称。无锡是中国民族工业和乡镇工业的摇篮,是苏南模式的发祥地,也是联勤保障部队无锡联勤保障中心驻地 [5] 。无锡有鼋头渚、灵山大佛、无锡中视影视基地等景点。
2017年11月,复查确认继续保留全国文明城市荣誉称号。 [6] 2018年12月,被评为2018中国大陆最佳地级城市第3名,2018中国创新力最强的30个城市之一,2018中国最佳旅游目的地城市第17名。2019年8月,中国海关总署主办的《中国海关》杂志公布了2018年“中国外贸百强城市”排名,无锡排名第11。
相较而言,当时C#的境况略有不同。从一开始,CLR(Common Language Runtime)的表现就相当不俗。C#语言既支持同本地代码的轻松交互,也支持由指针实现的性能敏感的非安全代码。C#的性能一直在不断提升。(微软正在引入一套类似于Java HotSpot JIT编译器的分层JIT编译机制。)
然而,工作负载的差异导致了性能需求上的差异。1.2节将介绍,从游戏到微服务,C#的应用平台范围之广令人惊叹。这些千差万别的平台对于程序性能的需求都不尽相同。
虽然异步特性解决了某些场景中的性能问题,但是C# 7才是提升程序性能最多的一个版本。只读结构体和ref特性都可以用于消除复制冗余。最新的Span<T>特性(得到了类ref结构体类型的支持)有助于减少不必要的内存分配和垃圾回收。如果开发人员能用好这些特性,无疑能够满足很多需求。
然而我个人对这些新特性依旧心存疑虑,因为它们毕竟还是有些复杂。例如,在只使用普通值参数就可以的情况下,为何要使用in参数呢?再比如,哪些场景适合使用ref局部变量和ref return?这些问题一时三刻我也无法参想透彻。
因此我认为,使用新特性一定要遵循适度的原则。在真正合适的场景中,代码简化的效果才会显著。而且对于代码维护人员来说,能够维护更简洁的代码,也是一件求之不得的事情。之后我会在个人项目中试用这些新特性,并努力在性能提升和代码复杂度之间做好权衡。
对于C#设计团队在引入新特性时是否充分考虑了这些特性的使用频度这件事,我持怀疑态度。大家不必为了用特性而去用,而要有目的、有选择性地使用。关于最优选择,C# 7还开创性地引入了一个全新的元特性:使用小版本号。
C#的版本号比较奇特,很多开发人员也搞不清楚framework版本号和语言版本号之间的关系。(比如C#实际上没有3.5这个版本。.NET Framework 3.0版本是跟C# 2一起推出的,而.NET Framework 3.5是随C# 3发布的。)C# 1有两个发行版:C# 1.0和C# 1.2;而在C# 2 到C# 6期间,都只有大版本号,随之发布的还有新版本的Visual Studio。
C# 7首次推出了这样一个特性:新发布的C# 7.0、C# 7.1、C# 7.2以及C# 7.3这几个语言版本在Visual Studio 2017中都可以使用。后续的C# 8大概率还将沿用该模式。这一特性旨在根据使用者的反馈对C#进行快速迭代。C# 7.1~C# 7.3这几个版本的大部分特性是基于7.0版本的变体或者扩展。
这种语言特性的不稳定,会给使用者尤其是大型公司造成困惑。许多公司对基础架构所做的变动或升级,都是为了确保能够完全支持新版本。另外,很多开发人员学习和接纳这些新特性的步调可能也会不一致。就算抛开这些问题不谈,对于一门更新速度比你适应速度还要快的语言,谁都会多少有些不悦吧。
基于上述考虑,C#编译器默认使用最新主版本号的最早小版本号。对于C# 7编译器来说,如果不指定语言版本,那么它默认会使用C# 7.0版本。如果需要使用后续的小版本号,需要在工程文件中显式声明,才能够使用新特性。
指定小版本号有两种方法,二者作用相同。一是直接在工程文件的<PropertyGroup>标签中添加<LangVersion>,如下所示。
<PropertyGroup> ... <------ 其他属性 <LangVersion>latest</LangVersion> <------ 指定工程的语言版本</PropertyGroup>复制代码
不想直接编辑工程文件的话,也可以在Visual Studio中选择项目属性,在构建(Build)标签中点选右下方的高级(Advanced)按钮。在弹出的对话框中,就可以选择想使用的语言版本了,另外还有一些选项可供设置,见图1-1。

图1-1 Visual Studio中的语言版本设置
随着该特性的推出,你将更频繁地用到上面这个对话框。版本号提供的可选项如下所示。
默认:当前大版本号下的第一个小版本号。
最新:当前最新的版本号。
自定义版本号:比如可以填“7.0”或者“7.3”。
上述操作不会对当前编译器的版本号产生影响,它只是用于调整当前语言可用特性的集合。如果目标版本不支持代码中使用的新特性,编译器就会发出错误信息,提示应当指定正确的版本号。如果使用的新特性是编译器根本无法识别的,例如在C# 6编译器中使用C# 7的特性,那么错误信息就无法做出精准的提示了。
C#语言从诞生之初经历了漫长的演化历程,那么C#所运行的平台又有怎样一段历史呢?
过去几年令广大.NET程序员振奋不已,期间虽然也经历了不少坎坷,但微软和.NET社区还是针对更开放化的开发模型达成了共识。众人凭借着艰辛付出,取得了令人瞩目的成就。
此前的很多年,要在Windows上运行C#程序基本是一个心照不宣的事实。要么用Windows Forms或WPF编写客户端程序,要么用ASP.NET编写在IIS上运行的服务端程序。虽然不是不能选择其他平台,尤其还有着像Mono这样由来已久的跨平台项目,但是.NET开发实际上还是以在Windows上为主。
这段文字写于2018年6月,此时的.NET早已今非昔比。其中最为瞩目的当属.NET Core,它既是运行时,也是框架,还具备开源和可移植的特性,能够在不同操作系统上运行,由微软全面背书,同时配备有完备的开发工具流。这些特性于几年前几乎是不可想象的。再加上Visual Studio Code这样一款开源且可移植的IDE,就打造出了一个繁荣的.NET生态系统。今后,开发人员终于可以在不同平台上完成.NET开发工作,并能把程序部署到各种服务器上了。
当然,除了.NET Core,运行C#的方式还有很多,其中Xamarin就提供了丰富的跨移动平台体验,其GUI框架(Xamarin Forms)可以让开发人员构建出跨平台的统一UI,还可以充分利用运行设备的平台特性。

服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878