我在一个.NET项目中注意到这个功能。
private static void RemoveAllElements(ref List<int> listToBeRemoved)
{
foreach (var i in listToBeRemoved)
{
listToBeRemoved.Remove(i);
}
}
这是从列表中删除所有元素的最快方法吗?我还注意到这个函数没有捕获任何异常。我应该换这个吗?这在现有代码中。
最佳答案
我不明白你为什么不能把它简化成
listToBeRemoved.Clear();
详情请参阅MSDN Documentation。
我认为您不需要添加任何异常处理逻辑。
Clear
方法在内部使用Array.Clear
,这是成功的可靠契约,不会损坏状态。我无法想象这会引发一个例外。