删除列表中项目的最快方法

mrb*_*lah 1 c# collections filtering list

我有一个User对象列表,我必须从列表中删除一个具有特定UserID的项目.

这个方法必须尽可能快,目前我循环遍历每个项目并检查ID是否与UserID匹配,如果没有,那么我将该行添加到我的filteredList集合中.

List allItems = GetItems();

for(int x = 0; x < allItems.Count; x++)
{
    if(specialUserID == allItems[x].ID)
        continue;
    else
        filteredItems.Add( allItems[x] );
}
Run Code Online (Sandbox Code Playgroud)

Ken*_*Ken 8

如果它必须尽可能快,请使用不同的数据结构.列表未知删除效率.将ID映射到用户的词典怎么样?