完全な if/else ステートメントと条件演算子 [重複]
-
26-09-2019 - |
質問
重複の可能性:
条件文 ? を使用する利点:(三項) 演算子
条件演算子は遅いですか?
こんにちは、みんな、
さまざまな if/else ステートメントに関して非常に単純な質問があります。
記述するコードが少なくなる以外に、完全な if/else ステートメントではなく条件演算子を使用する利点はありますか?
パフォーマンスの向上、コードのコンパイルの軽減、または使用時にメリットがあることはありますか?
あなたの助けに感謝
マルコ
解決
焦点を当てないでください 書き込み コードが少なくて済みます...最終的に完成するコードに集中してください。 読める.
時々、 if
ステートメントがより読みやすくなります。場合によっては、条件演算子の方が読みやすい場合があります。私は、1 つの論理値を計算するさまざまな方法 (例:顧客の年齢に基づいて割引されます)。ただし、複雑な方法で使用するのは好きではありません。意味がある場合には完全な if/else を使用することに問題はありません。
null合体演算子も覚えておく価値があります...したがって、代わりに:
string shipTo = customer.ShippingAddress != null
? customer.ShippingAddress : customer.BillingAddress;
使用できます
string shipTo = customer.ShippingAddress ?? customer.BillingAddress;
繰り返しますが、これは特定の状況でのみ役立ちますが、そのような場合には非常に便利です。
他のヒント
記述するコードが少なくなる以外に、完全な if/else ステートメントではなく三項演算子を使用する利点はありますか?
場合によっては可読性が向上します...それだけだと思います。
パフォーマンスの向上、コードのコンパイル量の削減、または使用時にメリットがあることはありますか?
いいえ、重要なことは何もありません。いずれにせよ、通常は同じILにコンパイルされると思います...
したがって、最終的には読みやすさのみを基準にして選択する必要があります。完全な if/else を書いた方が読みやすい場合は、そうしてください。非常に単純で読みやすい三項式の場合は、そのまま使用してください。