C#中`is {} service`模式是什么?求技术名称及文档指引
关于
is {} service的技术名称及解释 这是C# 8.0及以后版本支持的模式匹配(Pattern Matching)中的非空模式+声明模式组合写法,也可以直接称它为非空模式匹配并赋值。
具体拆解:
{}是非空模式,作用是检查左侧表达式(这里是GetService<Iservice>()的返回值)不为null;- 紧跟的
service是声明一个变量,当左侧表达式非空时,会把表达式的值直接赋值给这个变量,你可以在if的代码块里直接使用这个变量。
这种写法是把原本需要分开写的"变量声明+非空检查"合并成一行,比传统写法更简洁:
传统写法:
var service = context.RequestServices.GetService<Iservice>(); if (service != null) { // 使用service }
现在的写法直接把两步合并到if条件中,逻辑更紧凑。
内容的提问来源于stack exchange,提问作者fruitbatinshades
相关产品推荐
相关产品推荐

