我有一個奇怪的情況,代碼行執行時間超過 5 分鐘,我不明白為什么:var cleansedTransactions = competitorTransactions.Where(i => !endedItemsLocal.Contains(i.ItemID)).ToList();進一步解釋:competitorTransactions - is a list of transactions which in this case contains 921 record inside it;
endedItemsLocal - is an IEnumerable<string> - which in this case contains 8 records我在這里要做的是從“competitorTransactions”列表中刪除“endedItemsLocal”(IEnumerable) 中包含的所有項目。為什么執行需要 5-9 分鐘?如果這兩個集合包含數百萬條記錄,我可以說需要 9 分鐘,但只有 921 和 8,這讓我發瘋,我不明白為什么要花這么長時間?有人可以幫我嗎 ?:/
1 回答

吃雞游戲
TA貢獻1829條經驗 獲得超7個贊
您不應該使用 IEnumerable,因為它是延遲加載的。使用 endedItemsLocal 的 ToArray 并使用該集合,這將分配一個集合,從而提高速度。
- 1 回答
- 0 關注
- 76 瀏覽
添加回答
舉報
0/150
提交
取消