2016-06-28 4 views
-3

私はこの表現を書くより簡単な方法が必要であることを知っています。私はしかし、どのように把握することはできません。このC#文をどのように単純化しますか?

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

いずれかの提案があります。

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

これを試してください:name + =(order!= null)? "+オーダー+延長:延長; – jdweng

+0

Googleには三元演算子のためのビットが難しくないか、この用語を「他の場合のショートバージョン」と似たようなものにしていないと分かりません。そして、それが* 3項演算子であることが判明した場合、すぐにここで重複を見つけるでしょう。 – HimBromBeere

答えて

0

あなたが?演算子を使用することができます。 if-else条件は必要ありません。

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

は、コードの品質と読みやすさを考慮し、あなたの質問については、以下のコードを使用します。

+0

あなたは 'order'が文字列であると仮定しています。そうでないかもしれない。 –

+0

@JamesJenkinsonはい。私は私の答えでそれを言及したいと思います。私はその順序と拡張が文字列であると仮定しています。 – thegreekgod

0

あなたがC#6を使用している場合は、文字列の補間を使用することができます。

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

は少しすっきりと思い見えます。

関連する問題