利用C#9.0新语法如何提升if语句美感
#代码知识 发布时间: 2026-01-12
前言

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 的新姿势,也期待你的分享。
总结
代码知识SEO上一篇 : SpringBoot使用 druid 连接池来优化分页语句
下一篇 : Simple Java Mail邮件发送实现过程解析
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!