更新对象列表属性的更好方法

我正在开发具有对象列表的功能。我需要获取已修改对象属性之一的对象的最终列表。目前大约需要58分钟,但我需要在6分钟内完成此过程。我正在寻找成员的反馈,以了解如何在6分钟内改进此代码。感谢任何输入。


// Start with a List of ListItems with 350K records 

// ListItem(id, Name, Category, State, SortId)


List<ListItem> resultlist = new List<ListItem>();

List<ListItem> filterList = new List<ListItem>();


// List has 350K recrods

foreach (ListItem item in processList)

{

    // filter the lsit for particular id. 

    var filterList = processList.Where(p => p.Id == item.Id);


    // Additional logic to update the Category of the ListItem

    String AssignedCategory = GetFinalCategory() 


  // update all the filterList with AssignedCategory

    foreach (var item2Add in filterList)

    {

        item2Add.Category = AssignedCategory

        resultlist.Add(item2Add);

    }

}


杨魅力
浏览 156回答 2
2回答

手掌心

您可以使用并行任务库使其成为多线程并加快处理速度。&nbsp; &nbsp; Parallel.ForEach(resultList, (currentResult) =>{&nbsp; &nbsp; &nbsp; &nbsp;// Property changing logic here.&nbsp; &nbsp; });
打开App,查看更多内容
随时随地看视频慕课网APP