switch 语句中的值

Cle*_*eax 1 c#

我试图用不同现有变量中的某个值填充现有变量,优先考虑第一个填充值变量。

我的意思是这样的:

我有需要从 4 个其他变量设置的变量 A: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;
Run Code Online (Sandbox Code Playgroud)

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

但是 switch 需要一个值,而不是一个语句或方法。

我试图用很多 if else 语句来实现它,但是加班时间真的很长。我需要更紧凑的东西,我可以在以后添加新的价值。

有没有办法实现这一点,或者有其他更好的方法来解决它?

Dmi*_*nko 7

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

 A = B ?? C ?? D ?? E ?? string.Empty;
Run Code Online (Sandbox Code Playgroud)