linq を広範囲に使用する大規模なアプリを最適化する必要があります。linq ステートメントの多くは、linq 拡張メソッド内で匿名オブジェクトを作成します。例 :-
// custom sort order
var sortedData = data.OrderBy(x => (new List<string>() {"Orange", "Apple", "Pear" }).IndexOf(x.Name));
foreach (var d in sortedData) {
....
問題は、反復ごとに新しいリストが作成されることです。
コンパイラーに静的分析を実行させ、ループ不変コードを抽出してループの外に出すように設定できるコンパイラー・フラグはありますか?