11

假设我有一个List<Car> Cars有 n 个项目,我想删除最后两个。我发现的最好方法是:

Cars.RemoveRange(Cars.Count-2, 2);

有没有更好的办法?我搜索这样的东西:

Cars.RemoveFrom(Cars.Count-2); //pseudocode

4

2 回答 2

17

不,没有...但是如果您愿意,可以将其放入扩展方法中。

static class ListEx
{
    public static void RemoveFrom<T>(this List<T> lst, int from)
    {
        lst.RemoveRange(from, lst.Count - from);
    }
}
于 2013-08-10T05:52:17.477 回答
2

现在我们有了选择

void List<T>.RemoveRange(int index, int count);

请参阅Microsoft Docs List.RemoveRange(Int32, Int32)核心方法

适用于 Framework 4.8 的Microsoft Docs List.RemoveRange(Int32, Int32) 方法

适用于

.NET 核心 3.1 3.0 2.2 2.1 2.0 1.1 1.0

.NET 框架 4.8 4.7.2 4.7.1 4.7 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5 4.0 3.5 3.0 2.0

.NET 标准 2.1 2.0 1.6 1.4 1.3 1.2 1.1 1.0

于 2020-07-05T13:12:08.300 回答