我過去兩天一直在牆上敲打我的頭,但我無法改進以下LINQ的計時。LINQ查詢改進
from obj in list
from obj1 in list1
where (obj1.ClassesName.Contains(obj.ClassName) && obj1.Count> 0)
select new { result = obj1.ClassName})
我需要obj1.classesname列表來搜索obj.classname。一旦在classesname列表中找到,我需要返回obj1類名。
我在列表中有5千個對象。
上面的查詢需要超過30秒的時間才能運行。我需要在5秒鐘之內減少這段時間。
我很困惑,每一次的幫助都會計算在內。
在此先感謝。
您是否嘗試過使用普通循環?我有LINQ查詢運行緩慢,我剛剛用正常的結構替換它們,有時它們運行得更快。 – 2012-02-25 05:08:47
應該只返回1個結果嗎?或許多結果? – 2012-02-25 05:09:26
我認爲提供一些示例數據和期望的輸出會有幫助,因爲不清楚「ClassesName」的類型是什麼(string?string數組?),以及Contains是作爲子字符串還是集合操作。如果收集,是否需要區分大小寫? obj1.Count指的是什麼? – 2012-02-25 05:13:10