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

网站建设注册哪类商标贵州省城乡建设厅网站首页

网站建设注册哪类商标,贵州省城乡建设厅网站首页,做网站是什么工作,投资公司注册资金多少#x1f680; 优质资源分享 #x1f680; 学习路线指引#xff08;点击解锁#xff09;知识定位人群定位#x1f9e1; Python实战微信订餐小程序 #x1f9e1;进阶级本课程是python flask微信小程序的完美结合#xff0c;从项目搭建到腾讯云部署上线#xff0c;打造一… 优质资源分享 学习路线指引点击解锁知识定位人群定位 Python实战微信订餐小程序 进阶级本课程是python flask微信小程序的完美结合从项目搭建到腾讯云部署上线打造一个全栈订餐系统。Python量化交易实战入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 今天看到已经更新了devblogs新增的C# 11的!!用于检查null的语法经过非常长的讨论最后取消了。然后我又想起来null检查这个可以说一说。 函数参数null检查 传统写法 写一个函数的时候最经典的检查估计也是大家最常使用的null检查应该是这样的吧 public static void GetV1(string prompt) {if (prompt is null) throw new ArgumentNullException(nameof(prompt));Console.WriteLine(prompt); } ThrowIfNull 这个写起来也没啥问题但是总觉得有点不舒适。.NET 6在ArgumentNullException中新增了ThrowIfNull方法可以写的更优雅一点。 public static void GetV2(string prompt) {ArgumentNullException.ThrowIfNull(prompt);Console.WriteLine(prompt); } 异常的时候就会出现System.ArgumentNullException: Value cannot be null. (Parameter prompt)。这个是不是简单了点可是还是需要写一行。 C# 11的!!语法已经取消 C# 11刚preview的时候我就瞄到了这个特性现在依然可以通过设置preview来进行启用但是以后正式发布估计就不行了。 它通过在参数后面叠加!!表示此参数不可为空运行时会自动进行检查如果是null就直接弹出错误。 public static void GetV3(string prompt!!) {Console.WriteLine(prompt); } 这个代码会被编译器翻译成 public static void GetV3(string prompt!!) {if (prompt is null) {throw new ArgumentNullException(nameof(prompt));}Console.WriteLine(prompt); } 这样大家就可以专注于业务代码不需要经常考虑异常检查了。至于为什么这个东西最后还是被删除了可以从讨论中看到一丝端倪首先是感觉非常纠结于这个语法两个叹号然后就是已经有比较多的方式可以实现检查了这个东西是否有必要。反正最终是以后再讨论了不过也可以看出来C#语言工作组对语言的特性讨论非常谨慎。 他们还讨论了很多别的形式每种都提出了各自的优缺点挺有意思的能看出来有一点设计语言的严谨和小强迫症在点赞~ void M(string s!!); void M(string! s); void M(string s!); void M(notnull string s); void M(string s ?? throw); void M(string s is not null); void M(checked string s); void M(string s) where s is not null; 有关null的一些操作 说起这个就顺便说说c#处理null的另外几个语法糖吧。 ?? 如果左边是的null那么返回右边的操作数否则就返回左边的操作数这个在给变量赋予默认值非常好用。 int? a null; int b a ?? -1; Console.WriteLine(b); // output: -1 ?? 当左边是null那么就对左边的变量赋值成右边的 int? a null; a ?? -1; Console.WriteLine(a); // output: -1 ?. 当左边是null那么不执行后面的操作直接返回空否则就返回实际操作的值。 using System; public class C {public static void Main() {string i null;int? length i?.Length;Console.WriteLine(length ?? -1); //output: -1} } ?[] 索引器操作和上面的操作类似 using System; public class C {public static void Main() {string[] i null;string result i?[1];Console.WriteLine(result ?? null); // output:null} } 注意如果链式使用的过程中只要前面运算中有一个是null那么将直接返回null结果不会继续计算。下面两个操作会有不同的结果。 using System; public class C {public static void Main() {string[] i null;Console.WriteLine(i?[1]?.Substring(0).Length); //不弹错误Console.WriteLine((i?[1]?.Substring(0)).Length) // System.NullReferenceException: Object reference not set to an instance of an object.} } 一些操作 //参数给予默认值 if(x null) x str; //替换 x ?? str;//条件判断 string x; if(i3) x y; else { if(z ! null) x z; else z notnull; } //替换 var x i 3 ? y : z ?? notnull//防止对象为null的时候依然执行代码 if(obj ! null) obj.Act(); //替换 obj?.Act();//Dictionary取值与赋值 string result; if(dict.ContainKey(key)) {if(dict[key] null) result 有结果为null;else result dict[key]; } else result 无结果为null; //替换 var result dict.TryGetValue(key, out var value) ? value ?? 有结果为null : 无结果为null; 结语 原来新定的C# 11提供了一个新的??话说我个人还是挺喜欢这个特性的不管以什么形式出现吧期待以后再见。 C#中为了处理null给我们准备了许多的语法糖只能说非常简便了。有很多人会说这个可读性不好或者觉得这是“茴字的几种写法”似的歪门邪道我只能说传统的语法也不是说取消了语言有发展只要还是比较审慎的我觉得还是一件好事。 参考资料 https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/member-access-operators#null-conditional-operators–and-https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/null-coalescing-operator 后记 一定要夸一下博客园写完这篇文章想登陆博客园发布的时候被登陆卡住了。弹出来和google一样的验证画面找红绿灯找人行横道什么的只能说我找了几分钟也没找明白我确信我已经点的正确了所有的区块占上了有一点算不算不知道也没有反馈就点呀点呀密码我已经按照要求设置的够复杂了还有必要通过这种反人类的东西来验证吗不理解京东阿里之类的购物网站的验证也就拖一下完事这博客园的后台估计比那些个地方还要敏感吧赞一个太赞了
http://www.zqtcl.cn/news/107974/

相关文章:

  • 美图网seo 优化技术难度大吗
  • 知名的传媒行业网站开发天空网站开发者
  • 网站域名年费多少钱二手手表交易平台哪个好
  • 用易语言做抢购网站软件下载自己可以做企业网站吗
  • 公司网站续费帐怎么做互联网专业
  • 网站开发公司深圳外贸营销策略
  • 主要搜索引擎网站搜索结果比较wordpress novelist
  • 校园网站制度建设WordPress手机不显示
  • 胶州哪家公司做网站wordpress的html
  • 辽宁省建设厅网站江苏住房和城乡建设厅官方网站
  • 链接关系 网站层次结构南宁做网站找哪家公司
  • 定制网站开发哪家好崇明建设镇网站
  • 上海网站制作建设是什么wordpress管理页面
  • 酒店网站设计的目的和意义网络营销相关理论
  • 用google翻译做多语言网站企业官网建站网站
  • 南阳网站建设培训学校莞城短视频seo优化
  • 开发商城网站建设做网站租用那个服务器好
  • 2015做导航网站wordpress中文主
  • 中英文网站建设报价河南网站建设推广公司
  • 什么是建设网站提升seo排名平台
  • 广告设计模板网站模版网站是什么意思
  • 网站网站模板企业网站制作排名
  • 食品网站开发淘客手机版网站怎么做
  • 厦门市网站建设app开发水务 网站建设
  • jfinal网站开发装修公司加盟哪家最好
  • 成都个人网站制作石家庄设计网站公司
  • 阿里巴巴网站本土化建设烟台市两学一做网站
  • 潍坊品牌网站建设公司旅游类作业网站
  • 建设谷歌公司网站费用求职seo推荐
  • 企业网站建设规划ppt企业网站前端模板下载