假設有一類提高LINQ查詢性能
public class StopTime
{
public TimeSpan? ArrivalTime { get; set; }
public TimeSpan? DepartureTime { get; set; }
public string StopID { get; set; }
public int StopSequence { get; set; }
public string TripID { get; set; }
}
我不得不從一個CSV文件中讀取數據並將其映射到所提到的類。 CSV文件可以有很多記錄,在我的情況下大約有500000條記錄。
在我解析CSV文件並將數據映射到StopTime
列表中的不同功能之後,我想根據TripId
篩選StopTimes
。 在我的場景中,我在StopTime
的列表中約有8000個TripId
s。
我試圖創建使用此代碼列表的字典:
var TripIdStops = new Dictionary<string, List<StopTime>>();
foreach (var tripId in ListOfTripId)
{
TripIdStops.Add(tripId, StopTimes.Where(x=>x.TripID==tripsDistinct).ToList());
}
要創建字典,這個循環能夠篩選出StopTime
S,記得50萬次的記錄和TripIds 8000個實例。
但是,這是一個非常耗時的任務。有沒有辦法提高性能?