私は次のコードを持っています - >何かのようなSelect case using LINQ
- これは実際のコードではありません[インターネットから選んだ]。LINQ を使用して Select Case の概念を表示しようとしています。私のコードでは、条件に基づいて新しい List オブジェクトを作成しています
Int32[] numbers = new Int32[] { 1, 2, 1, 3, 1, 5, 3, 1 };
var numberText =
(
from n in numbers
where n > 0
select new
{
Number = n,
Text =
(
n == 1 ? "One" :
n == 2 ? "Two" :
n == 3 ? "Three" : "Unknown"
)
}
);
しかし、ここのページには「状態をポリモーフィズムに置き換える」と書かれています。
では、問題は、そのような種類の実装がコードの臭いであり、 常に厳密に回避する必要があるかどうかです。コレクションをループし、条件付きで新しいオブジェクトを作成する場合、LINQ は当然の選択のように思えます。間違っているかもしれませんか?