C# switch语句中的Hasvalue
我试图用不同的现有变量中的一些值来填充现有变量,并对第一个填充值变量进行优先级排序 我的意思是: 我有一个变量A需要从其他4个变量B、C、D和E中设置。所有5个变量都是可为空的字符串。但我只想按从B到E的顺序设置优先级 这是我想得到的一个例子:C# switch语句中的Hasvalue,c#,C#,我试图用不同的现有变量中的一些值来填充现有变量,并对第一个填充值变量进行优先级排序 我的意思是: 我有一个变量A需要从其他4个变量B、C、D和E中设置。所有5个变量都是可为空的字符串。但我只想按从B到E的顺序设置优先级 这是我想得到的一个例子: switch(HasValue()) { case(B): A = B; break; case(C): A = C; break; case(D): A
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
但开关需要的是值,而不是语句或方法
我试着用很多if-else语句来表达,但这会让我加班加点。我需要一些更紧凑的,我可以添加新的价值以后
是否有一种方法可以实现这一点,或者有其他更好的方法来解决它?假设
HasValue
是您为字符串定义的某种方法,您可以将它们放入集合并使用LINQ:
A = new [] { B, C, D, E }.FirstOrDefault(s => s.HasValue()) ?? string.Empty;
假设
HasValue
是您为字符串定义的某种方法,您可以将它们放在集合中并使用LINQ:
A = new [] { B, C, D, E }.FirstOrDefault(s => s.HasValue()) ?? string.Empty;
您可以尝试链接
??操作员:
A = B ?? C ?? D ?? E ?? string.Empty;
您可以尝试链接??操作员:
A = B ?? C ?? D ?? E ?? string.Empty;
您是否尝试过使用if-else语句和&,| |运算符?A=B??CDE
您是否尝试过使用if-else语句和&、| |运算符?A=B??CDE代码>