0
我想要做這樣的事情:C#:如何定義隱式類型變量中IF塊和使用外
var myQuery;
if (someParam > 0)
{
myQuery = from x in myTable where x.myValue > someParam select x;
}
else {
myQuery = from x in myTable select x;
}
問題是我不能這樣做,因爲你顯然不能沒有定義一個隱性變量首先聲明它,也不能在聲明它之後重新聲明一個隱式變量。
假設我不知道數據的返回類型(隱式類型變量的整個點),那麼執行此操作的適當方法是什麼?
編輯:
下面的第一個答案運作良好,如果你的類型有明確的規定,但對於這樣的事情?
var myQuery;
if (includeSomething == true)
{
myQuery = from x in myTable select new { f1 = x.field1, f2 = x.field2 };
}
else {
myQuery = from x in myTable select new { f1 = x.field1, f2 = x.field2, x3 = x.field3 };
}
難道你試着檢查編輯的答案。 – Rahul
@Rahul,編輯的答案是什麼時候? –
@LajosArpad,在答案窗口時間內。 – Rahul