时间:2021-05-19
前言
C# 语言一贯秉承简洁优美的宗旨,每次升级都会带来一些语法糖,让我们可以使代码变得更简洁。本文分享两个使用 C# 9.0 提升 if 语句美感的技巧示例。
使用属性模式代替 IsNullOrEmpty
在任何你使用 IsNullOrEmpty 的时候,可以考虑这样替换:
string? hello = "hello world";hello = null;// 旧的方式if (!string.IsNullOrEmpty(hello)){ Console.WriteLine($"{hello} has {hello.Length} letters.");}// 新的方式if (hello is { Length: >0 }){ Console.WriteLine($"{hello} has {hello.Length} letters.");}属性模式相当灵活,你还可以把它用在数组上,对数组进行各种判断。比如判断可空字符串数组中的字符串元素是否为空或空白:
string?[]? greetings = new string[2];greetings[0] = "Hello world";greetings = null;// 旧的方式if (greetings != null && !string.IsNullOrEmpty(greetings[0])){ Console.WriteLine($"{greetings[0]} has {greetings[0].Length} letters.");}// 新的方式if (greetings?[0] is {Length: > 0} hi){ Console.WriteLine($"{hi} has {hi.Length} letters.");}刚开始你可能会觉得阅读体验不太好,但用多了看多了,这种简洁的方法更有利于阅读。
使用逻辑模式简化多重判断
对于同一个值,把它与其它多个值进行比较判断,可以用 or 、and 逻辑模式简化,示例:
ConsoleKeyInfo userInput = Console.ReadKey();// 旧的方式if (userInput.KeyChar == 'Y' || userInput.KeyChar == 'y'){ Console.WriteLine("Do something.");}// 新的方式if (userInput.KeyChar is 'Y' or 'y'){ Console.WriteLine("Do something.");}之前很多人不解 C# 9.0 为什么要引入 or 、and 逻辑关键字,通过这个示例就一目了然了。
后面还会继续分享一些 C# 9.0 的新姿势,也期待你的分享。
总结
到此这篇关于利用C#9.0新语法如何提升if语句美感的文章就介绍到这了,更多相关C#9.0新语法提升if语句内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
大家好,这是C#9.0新特性短系列的第5篇文章。弃元(Discards)是在C#7.0的时候开始支持的,它是一种人为丢弃不使用的临时虚拟变量。语法上它是用来赋值
记得在MSBuild2020大会上,C#语言开发项目经理MadsTorgersen宣称C#9.0将会随着.NET5在今年11月份正式发布。目前.NET5已经到了
PHP是PersonalHomePageTools的缩写。PHP混合了C、Java、Penl的一些语法,以及PHP式的新语法,集合了各种语言的优点。因此,它可以
用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。SQL语句中的更新语句updat
大家好,这是C#9.0新特性系列的第4篇文章。熟悉函数式编程的童鞋一定对“只读”这个词不陌生。为了保证代码块自身的“纯洁”,函数式编程是不能随便“弄脏”外来事物