I have a list of strings list
and a number pageSize
, a pageNumber
and a rowNumber
. I want to split this list by the page size and create a list of list
, then return the element at the given pageNumber
and rowNumber
. If the page number and row number is above the possible index level, return null
. Both pageNumber
and rowNumber
are zero-based indexes.
Example:
list = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
pageSize = 3
pageNumber = 2
rowNumber = 1
Result:List = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
Result = 8.
But this code is throwing an OutOfRange exception:
public static int? GetItemInThePagedDataList(IEnumerable<int> list, int pageSize, int pageNumber, int rowNumber)
{
var lists = list.Chop(pageSize);
if (pageNumber >= lists.Count() || rowNumber >= lists.First().Count())
{
throw new ArgumentOutOfRangeException();
}
return lists.ElementAt(pageNumber).ElementAt(rowNumber);
}