从列表中删除最后x个元素

bio*_*iox 4 c# list

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

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

还有更好的方法吗?我搜索的是这样的:

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

xan*_*tos 7

不,没有...但是如果你想要你可以把它放在扩展方法中.

static class ListEx
{
    public static void RemoveFrom<T>(this List<T> lst, int from)
    {
        lst.RemoveRange(from, lst.Count - from);
    }
}
Run Code Online (Sandbox Code Playgroud)


jAn*_*oni 5

现在我们可以选择

void List<T>.RemoveRange(int index, int count);
Run Code Online (Sandbox Code Playgroud)

请参阅Microsoft 文档 List.RemoveRange(Int32, Int32) Core方法

Microsoft Docs Framework 4.8 的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