1. ホーム
  2. c#

[解決済み] Expression<Func<>> と Func<> の違い [重複]について

2023-07-28 09:05:53

質問

例として、なぜほとんどのLINQ演算子で Expression<Func<TSource>> と同等の Func<TSource> ?

を使う利点/理由は何ですか? Expression クラスを使用する利点は何ですか?

どのように解決するのですか?

使用方法 Expression<T> を使うと、明示的に 表現ツリー - というのは、クエリを構成するコードをデータのように扱えるということです。

この理由は、LINQプロバイダー(たとえばLINQ to SQLなど)がクエリ自体を検査して、C#式をT-SQLクエリに変換する最適な方法を決定するためです。 式木はコードをデータとして見ることができるので、プロバイダーはこれを実行することができます。