通常在使用可为空的类型时,我会在代码内得到以下模式(测试值,调用函数):
Type? a;
if(a.HasValue)
{
SomeFunction(a.Value);
}
是否有一些巧妙的速记方式?这个图案有名字吗?也许这个问题被误导了,我应该以不同的方式使用可空值...
空条件可以做到这一点,但是要使其正常工作,您需要使SomeFunction成为Type的扩展方法
public static void SomeFunction(this Type? a)
{
// do stuff
}
那么你就可以做
Type? a;
a?.SomeFunction()