2

重複の可能性:
条件付き?:(三項)演算子を使用する利点
条件付き演算子は遅いですか?

こんにちは、みんな、

さまざまなif/elseステートメントに関して非常に簡単な質問があります。

より少ないコードを書くこととは別に、完全なif / elseステートメントとは対照的に条件演算子を使用することの他の利点はありますか?

パフォーマンスの向上、コンパイルされたコードの減少、またはそれを使用するときに私に利益をもたらす何か他のものはありますか?

あなたの助けに感謝

マルコ

4

2 に答える 2

5

より少ないコードを書くことに集中しないでください...あなたがより読みやすくなることになるコードに集中してください。

ifステートメントが読みやすくなる場合があります。条件演算子の方が読みやすい場合があります。1つの論理値を計算するさまざまな方法(たとえば、顧客の年齢に基づく割引)の観点から、理にかなっている場合の条件演算子が好きです。ただし、複雑な方法で使用するのは好きではありません。意味のある場所で完全なif/elseを使用しても問題はありません。

null合体演算子も覚えておく価値があります...その代わりに:

string shipTo = customer.ShippingAddress != null 
              ? customer.ShippingAddress : customer.BillingAddress;

あなたが使用することができます

string shipTo = customer.ShippingAddress ?? customer.BillingAddress;

繰り返しになりますが、これは特定の状況でのみ役立ちますが、そのような場合は非常に便利です。

于 2010-09-01T21:24:16.827 に答える
1

書くコードを減らす以外に、完全なif / elseステートメントとは対照的に、三項演算子を使用することの利点はありますか?

読みやすさの向上、場合によっては...それだけだと思います。

パフォーマンスの向上、コンパイルされたコードの減少、またはそれを使用するときに私に利益をもたらす他の何かがありますか?

いいえ、重要なことは何もありません。とにかく、通常は同じILにコンパイルされると思います...

したがって、最終的には、読みやすさにのみ基づいて選択する必要があります。完全なif/elseを書く方が読みやすい場合は、それを行います。読みやすい非常に単純な三項式の場合は、それを選択してください。

于 2010-09-01T21:26:10.027 に答える