switch语句中的Hasvalue

克拉克斯

我正在尝试使用不同的现有变量中的某个值填充现有变量,并优先处理第一个填充值变量。

我的意思是这样的:

我有一个变量A,需要从其他4个变量设置:B,C,D和E。所有5个都是可空字符串。但是我只想按从B到E的顺序设置优先级。

这是我想得到的一个例子:

switch(HasValue())
{
   case(B):
        A = B;
        break;
   case(C):
        A = C;
        break;
   case(D):
        A = D;
        break;
   case(E):
        A = E;
        break;
   default:
        A = string.empty;
        break;

因此,如果变量D具有值,则将A设置为D。如果B和D都具有值,则选择B。

但是switch期望值,而不是语句或方法。

我已经尝试了很多if else语句,但这会导致很大的加班时间。我需要更紧凑的东西,以后可以在其中添加新的价值。

有没有办法做到这一点,还是有其他更好的办法解决呢?

德米特里·拜琴科(Dmitry Bychenko)

您可以尝试链接??运算符:

 A = B ?? C ?? D ?? E ?? string.Empty;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章