C#可为空的类型-通用模式

问题描述 投票:0回答:1

通常在使用可为空的类型时,我会在代码内得到以下模式(测试值,调用函数):

Type? a; 

if(a.HasValue)
{
    SomeFunction(a.Value);
}

是否有一些巧妙的速记方式?这个图案有名字吗?也许这个问题被误导了,我应该以不同的方式使用可空值...

c# nullable
1个回答
1
投票

空条件可以做到这一点,但是要使其正常工作,您需要使SomeFunction成为Type的扩展方法

public static void SomeFunction(this Type? a)
{
     // do stuff
}

那么你就可以做

Type? a;
a?.SomeFunction()
© www.soinside.com 2019 - 2024. All rights reserved.