這裏是我的代碼:如何根據用戶輸入通過複選框更改我的查詢?
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;
}
的內聯LINQ的C#當量是[switch語句](http://msdn.microsoft.com/en-us/library/06tc147t(ⅴ
實施例= vs80).aspx) –
好吧,我看到開關/ case ..但我如何在查詢的上下文中實現它?我試過把switch(caseSwitch){case 1:;打破; },但我認爲我沒有做對。 –
phan
爲什麼不把整個查詢放在switch語句中? –