2012-09-26 28 views
0

Possible Duplicate:
A cycle was detected in a LINQ expression exceptionLINQ表達式中的循環

我有一個小問題。我有2個IQueryable(A和B)。我想找到補碼。爲此,我使用除:A.Except(B)

這會給我所有的數量在一個在B.

這工作都沒有。我的問題是,我想這樣做A = A.Except(B) 但是,這給我留下了一個錯誤:

A cycle was detected in a LINQ expression exception 

任何人有我如何能解決這個問題的建議。 我不能只是創建一個新的IQueryable C來保存A.Except(B)的結果。因爲我需要在後面的代碼中重複使用。

+2

我不確定這是否重複,但它確實有關係。 –

+0

'A'不能同時是'A'和'A.Except(B)' – Jodrell

回答

4

只需創建一個用於存儲結果的中間列表。

var C = A.Except(B).ToArray(); 

C將持有你想要的結果,而AB將保持不變。

+0

可能更有意義來調用''C''aExceptB'但我同意。 – Jodrell