C#では、何回も式に基づいて文字列を取得したいと思っています。ほとんどの場合、私はこの見解でこれを行います。1つの結果だけが必要な場合は、3値の合成糖がありますか?
私はブールisComplete
に基づいて「完了」印刷したいのであれば、例えば、私はこれを実行する必要があります。
<span class="badge">@(isComplete? "Complete" : "")</span>
この構文を短くなり、言語のいずれかのオプションがありますので、私は空の文字列オプションを持つ必要はありませんか?
何か
よう<span class="badge">@(isComplete => "Complete")</span>
は、文字列やブール値を受け取り、ブール値がfalseの場合はnullまたは空返す関数のように、自分でこれを行うにはいくつかの方法がありますが、多分それはすでに存在しています言語で
public String GetTextOrEmpty(bool control, String text)
{
return control? text : "";
}
をし、このようにそれを呼び出す:
でカスタムブール型の私は本当の答えと誰かがこれに光を当てることができます前に、この質問には「広すぎる」であることのため閉鎖されると思いますが、 。 – Phiter
私には分かりません。節約は最小限であるばかりでなく、読みやすさの点でも疑わしいようです。なぜ、割り当てがないのではなく、自然な割り当てとなるのでしょうか?もちろん他のデータ型については、他のデフォルト値が適用されます。そしてオブジェクトのために、何、ヌル? – TaW