LINQ表达式中的循环

时间:2012-09-26 09:50:34

标签: linq

  

可能重复:
  A cycle was detected in a LINQ expression exception

我有一个小问题。我有2个IQueryable(A和B)。我想找到补数。为此我使用Except:A.Except(B)

这将给我A中所有不在B中的数字。

这很有效。我的问题是我想这样做A = A.Except(B) 但这让我有一个错误:

A cycle was detected in a LINQ expression exception

任何人都有关于如何解决这个问题的建议。 我不能只创建一个新的IQueryable C来保存A.Except(B)结果。因为我在以后的代码中需要A。

1 个答案:

答案 0 :(得分:4)

只需创建一个用于存储结果的中间列表。

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

C会保留您想要的结果,而AB将保持不变。