私はクラスを持っています。 私は不必要に成長したくないリストとしてこのクラスを使用します。c#Linq List <T> .Where()ToList()は、<T>の新しいインスタンスを作成します。
私は、既存のエントリを取得するには、リストを検索し、必要であればそれは新しいエントリを作成する - または - 返す:真のどこにあるとき
var s0 = _solutions.Where(x => x.strtId == strtNodeId && x.endId == endNodeId).ToList();
しかし、LINQのは、実際に新しいインスタンスを作成します。 しかし、あなたがすでに見ているように、それは私が望むものではありません。
x.startNode && x.endNode
の組み合わせは、私が必要なものを終わりに_solution
のすべてのインスタンスで一意であることがすでに存在する場合、検索対象_solutionの1つのインスタンスへの参照です。
しかし、自分のforループを作成する以外に何ができますか?
ありがとうございました。
あなたが検索したアイテムの新しいインスタンスがs0に含まれると思いますか? –
これは、古いリストと同じ要素を持つ新しいリストを作成しています。新しい要素を作成しているわけではありません。これがあなたの質問に対処できない場合、私はその問題が何であるか不明です。 – Amy
あなたの言っていることは本当にわかりません。何が作成されていますか?最後に 'List'を作成していますが、作成された 'T 'の新しいインスタンスについて話しているようです。 –
itsme86