私はこのようなことをしたい:
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 };
}