2016-06-28 36 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; 

看起來有點整潔,我認爲。