Как насчет list.GetRange(startIndex, count)
List<int> inputList = new List<int>() { 1,2,3,4,5,6,7,8,9,9};
List<int> newList = inputList.GetRange(0, 4); //Output: 1,2,3,4
Если вы хотите получить подсписок из заданного списка, используя startingIndex
и endingIndex
, тогда вы можете сделать некоторые базовые математические вычисления
что-то вроде
List<int> newList = inputList.GetRange(startIndex, (endIndex - startIndex)); //(endIndex - startIndex) this will return count of sub list
Или вы можете попробовать операцию Linq, предложенную @ Crowcoder ,
List<int> newList = inputList.Skip(startIndex).Take(endIndex).ToList();
Если вы используете C # 8, тогда вы можете использовать диапазон вместо Skip
и Take
,
var newList = inputList.Range[startIndex..count]; //where count will be (endIndex - startIndex)