利用C#9.0新语法如何提升if语句美感
前言
C#语言一贯秉承简洁优美的宗旨,每次升级都会带来一些语法糖,让我们可以使代码变得更简洁。本文分享两个使用C#9.0提升if语句美感的技巧示例。
使用属性模式代替IsNullOrEmpty
在任何你使用IsNullOrEmpty的时候,可以考虑这样替换:
string?hello="helloworld";
hello=null;
//旧的方式
if(!string.IsNullOrEmpty(hello))
{
Console.WriteLine($"{hello}has{hello.Length}letters.");
}
//新的方式
if(hellois{Length:>0})
{
Console.WriteLine($"{hello}has{hello.Length}letters.");
}
属性模式相当灵活,你还可以把它用在数组上,对数组进行各种判断。比如判断可空字符串数组中的字符串元素是否为空或空白:
string?[]?greetings=newstring[2];
greetings[0]="Helloworld";
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逻辑模式简化,示例:
ConsoleKeyInfouserInput=Console.ReadKey();
//旧的方式
if(userInput.KeyChar=='Y'||userInput.KeyChar=='y')
{
Console.WriteLine("Dosomething.");
}
//新的方式
if(userInput.KeyCharis'Y'or'y')
{
Console.WriteLine("Dosomething.");
}
之前很多人不解C#9.0为什么要引入or、and逻辑关键字,通过这个示例就一目了然了。
后面还会继续分享一些C#9.0的新姿势,也期待你的分享。
总结
到此这篇关于利用C#9.0新语法如何提升if语句美感的文章就介绍到这了,更多相关C#9.0新语法提升if语句内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!