我在一个.NET项目中注意到这个功能。

    private static void RemoveAllElements(ref List<int> listToBeRemoved)
    {
        foreach (var i in listToBeRemoved)
        {
            listToBeRemoved.Remove(i);
        }
    }

这是从列表中删除所有元素的最快方法吗?我还注意到这个函数没有捕获任何异常。我应该换这个吗?这在现有代码中。

最佳答案

我不明白你为什么不能把它简化成

listToBeRemoved.Clear();

详情请参阅MSDN Documentation
我认为您不需要添加任何异常处理逻辑。Clear方法在内部使用Array.Clear,这是成功的可靠契约,不会损坏状态。我无法想象这会引发一个例外。

07-27 13:25