|
■No55353 (まっさ さん) に返信 > こんな書き方ってASP.NET(C#)ではできないのでしょうか? > > string aaa = if (b=1) { "look" } else { "yeah" } > > いつも、こんな書き方をしてて、ソースが長くなるんですよね。
ご質問内容の条件だけで言うと順当な解決策は三項演算子ですが、 場合によっては他のアプローチもあります。
例えば、bの値が0と1だけ、という場合、
string aaa = new string[] {"look", "yeah"}[b];
のようにすることができます。 (実際にこういうパターンを使う場合は毎回配列を作るわけではなく、 アクセス可能な場所に事前に配列を作って用意しておきます)
bが取りうる値のバリエーションがそんなに多くなく、仕様的にブレがないところで、 何度も同じ値の取得が行われるような場合には検討の価値があると思います。
配列の代わりにコレクション(List<T>、Dictionary<TKey, TValue>)を使うことも多いです。
|