使用 GetRange 获取所有剩余项目

Get all remaining items with GetRange

最近对<a href="https://msdn.microsoft.com/en-us/library/21k0e39c.aspx" rel="nofollow noreferrer">List.GetRange()</a>函数产生了兴趣。它可以从更大的列表中检索子列表。用法需要 两个参数:

List<T> SubList = List<T>.GetRange(10, 20) //Get 20 items, starting from index 10

但是,如果我想使用此函数从特定索引中获取 每个剩余的 项目怎么办?

List<T> RemainingItemsFromList = MyList.GetRange(7, /*REST*/) //What can I insert into REST to make it retrieve everything?

有吗

还是我做错了什么?

由于List不提供具有所需功能的内置方法,您的选择是:

1) 自己创建扩展方法:

public static class ListExtensions {
    public static List<T> GetRange<T>(this List<T> list, int start) {
        return list.GetRange(start, list.Count - start);
    }
}

var remaining = list.GetRange(7);

2) 使用 LINQ:

var remaining = list.Skip(7).ToList(); // a bit less efficient, but usually that does not matter