これが私のコードです:
var query = from x in Data
select new { Fruit = x[0], Animal, x[2], Color = x[3], Food = x[4] };
ここで、ユーザーが「ボックス 1」をチェックすると、次のように別のクエリを実行するようにチェックボックスを作成したいと考えています。
select new { Fruit = x[7], Animal, x[4], Color = x[8], Food = x[9] };
私の質問は、どのチェックボックスがチェックされているかに応じて、異なるselect...new
ステートメントが使用されるようにするにはどうすればよいですか?
複数の if/then ステートメントを使用して、どの特定のボックスがチェックされているかを確認し、どのselect...new
ステートメントを使用するかを決定できると思いますが、もっと良い方法があると思います。
VB では、"case" ステートメントが有効になると思いますが、C# に相当するものが何であるかはわかりません。
クエリパラメーターを変更するコンテキストでケース/スイッチを実装しようとして失敗しました:
int caseSwitch = 1;
var query = from x in Data
switch (caseSwitch)
{
case 1:
select new { Fruit = x[0], Animal, x[2], Color = x[3], Food = x[4] };
break;
case 2:
select new { Fruit = x[7], Animal, x[4], Color = x[8], Food = x[9] };
break;
}