最近,我对List.GetRange()
功能感兴趣。它可以从更大的列表中检索子列表。用法需要两个参数:
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?
有吗
RestOfTheList
语句,而不执行Length - Index
?或者我只是做错了什么?
答案 0 :(得分:1)
由于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