質問: C♯、Asp.net mvc5で、データを取ってきてモデルのクラスに入れて、viewに表示させています。 プログラムとかあまりわからないのと、私は理解力がないので質問がおかしかったらすみません。 Linqでデータを取って来たときに、caseでデータが1の時は、「りんご」、2の時は「みかん」とviewで表示出来ると聞いたのですが、どうやるのか分からないので例や参考、やり方など教えて下さい。
回答: たとえば`int`型の`data`という変数があったとして、`data == 1`かどうかで文字列の値を変えたい場合**三項演算子**が利用できます。 ``` @(data == 1 ? "りんご" : "みかん") ``` 三項演算子は連続で書けるので、たとえば`data == 2`という条件を追加したい場合は ``` @(data == 1 ? "りんご" : data == 2 ? "みかん" : "その他") ``` のように記述できます。 ただこのような処理は複数個所で使われる可能性が高いですし、普通にメソッドを作成して`switch`ステートメントを使うなどしたほうが汎用的だと思います。 たとえば問題の値が`Hoge`エンティティに定義されている場合、 ``` namespace WebApplication1.Views // TODO: 適当に変える { public static class HogeHelper { public static string GetFruitName(this Hoge entity) { switch (entity.Data) { case 1: return ""りんご; // TODO: 省略 default: return "その他"; } } } } ``` などと定義して、ビューまたは`Views/Web.config`で名前空間を参照すれば.cshtml中で`GetFuitName`拡張メソッドが使用できるようになります。