これはちょっと理論的な質問です。私は他の誰かのコード (以下) を見ていて、私の簡単な解決策は linq の外でコレクションをインスタンス化することでしたが、クエリ内のオブジェクトをインスタンス化したい場合があると推測できます。そしておそらく要素の選択についてのみ。これがどのように行われていたか (悪いこと) の簡単な例を次に示します。
var pods = (from n in ids
where new Node(Convert.ToInt32(n)).HasValue("propertyName")
select new
{
Id = Convert.ToInt32(n),
Url = new Node(Convert.ToInt32(n)).Url,
Name = new Node(Convert.ToInt32(n)).Title()
}).ToList();
無関係な注: この場合、ノード コンストラクターはメモリ キャッシュからデータを取得しています。
この例を改善して、linq を使用して各オブジェクトを 1 回だけインスタンス化するにはどうすればよいですか?
乾杯。マレー。