2016-06-28 33 views
-3

我知道必须有一种更简单的方式来编写这个表达式。但我无法弄清楚如何。你会如何简化这个c#语句?

if (order != null) 
{ 
    name += " " + order + extension; 
} 
else 
{ 
    name += extension; 
} 

任何建议表示赞赏。

+4

试试这个:name + =(order!= null)? “+订单+延期:延期; – jdweng

+0

对于三元运营商来说,这可不是一件容易的事情,或者你不知道这个术语是否与“短版本”类似。如果你发现它*是三元运算符,你很快就会在这里找到重复的东西。 – HimBromBeere

回答

0

您可以使用?操作:

name+= (order == null) ? extension : " " + order + extension; 
0

使用下面的代码,你的问题,包括代码质量和可读性。你不需要if-else条件。

name += string.IsNullOrEmpty(order) ? extension : " " + order + extension; 
+0

你假设'订单'是一个字符串。它可能不是。 –

+0

@JamesJenkinson是的。我想在我的回答中提到它,我假定顺序和扩展是字符串。 – thegreekgod

0

如果您正在使用C#6你也可以使用字符串插值:

name += (order != null) ? " {order}{extension}" : extension; 

看起来有点整洁,我认为。