0
実行時に動的にコンパイルされるLinq式が必要です条件付きLinq式ツリー
私は、 5000と別の値> 70それは5000を言うよりも 大きな値に一定のx他 と別の値を返す必要があります< 70それは私が式ツリーを作成するにはどうすればよいのy を返し > 5000 & B < 70その後、他の 日間a> 5000 & b> 70 then e
実行時に動的にコンパイルされるLinq式が必要です条件付きLinq式ツリー
私は、 5000と別の値> 70それは5000を言うよりも 大きな値に一定のx他 と別の値を返す必要があります< 70それは私が式ツリーを作成するにはどうすればよいのy を返し > 5000 & B < 70その後、他の 日間a> 5000 & b> 70 then e
三項演算子(?:)でラムダ式を使用できます。
var d = 1;
var e = 2;
var f = 3;
Expression<Func<int,int,int>> expression =
(a, b) => (a > 5000 && b < 70) ? d :
(a > 5000 && b > 70) ? e :
f; // If b == 70
var func = expression.Compile();
var val = func(5432, 1);
我々はfuther式にA> 5000 && bの<70を破るfutherすることはできますか?もしそうならば? – chugh97
どういう意味ですか?ラムダ全体がコンパイル時に式ツリーに変換されます。リフレクターで生成されたものを正確に表示します。 – dahlbyk