簡體   English   中英

LINQ錯誤:不能多次枚舉查詢結果

[英]LINQ error : The query results cannot be enumerated more than once


我正在使用LINQ函數,其中在for循環中使用ToList()。 在第一次迭代中,它工作正常,但隨后又拋出異常,因為

“查詢結果不能被多次枚舉。”

示例代碼為;

for()
{
     functionCall();
}

functionCall()
{
   var query = <<query logic>>;
   query.ToList();
}

我進行了大量搜索以解決此問題,但所有人都說使用ToList(); 而且我在ToList()本身上遇到錯誤。
請幫助我解決此問題。


提前致謝

您不止一次評估查詢,為什么不將代碼重構為此呢?

// Evaluate the query once
var query = <<query logic>>.ToList();

// Do your loop, passing the evaluated results into the function
for()
{
    functionCall(query);
}

functionCall(query)
{
   //Do whatever you need here
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM