什么是更好的 - 从数组中删除项目或创建除这些项目以外的新数组?

时间:2013-10-30 08:14:39

标签: c# arrays

什么是更好的 - 从数组中移除项目(IEnumerable)或创建除这些项目之外的新数组? 我希望以最快的方式。

例如。

IEnumerable<User> users = GetUsers();
users = users.Where(u => u.OrganizationId == currentOrganizationId);
// something else...

return users.ToArray();

List<User> users = GetUsers().ToList();
users = users.RemoveAll(users.Where(u => u.OrganizationId != currentOrganizationId));
return users.ToArray();

或其他不同的方式?

1 个答案:

答案 0 :(得分:1)

我建议直接创建新数组(无论如何,我认为大多数工作方法的性能差异都不大)

(from u in users where u.OrganizationId == currentOrganizationId).ToArray();

这样,您就可以避免创建不必要的列表的额外步骤。