Я перебираю список, который содержит 19 записей. Я хочу получить записи на 4 страницах. Первая страница будет иметь 5 записей, вторая - 5, Третья - 5, а четвертая - 4 записи.Получение дубликатов записей при подкачке в списке
Так я зацикливание, как показано ниже
for (int i = 0; i < totalColumnToShow; i++)
{
var page = i + 1;
var skip = rowsPerColumn[i] * (page - 1);
PagedList =GroupedLinksCategory.Select(y => new copiedList { Title = y.Title, ID = y.ID, Name= y.Name }).Skip(skip).Take(rowsPerColumn[i]).ToList();
foreach (var row in PagedList)
{
if (row.Name== "Test")
{
//my Logic
}
else
{
//my Logic
}
}
}
переменной rowsPerColumn является массив, содержащий 4 записи, как
rowsPerColumn[0] = 5 rowsPerColumn[1]= 5 rowsPerColumn[2] = 5 rowsPerColumn[3]= 4
На последней странице я получаю 2 записи со страницы 3. Что случилось с моя логика?
Как насчет того, чтобы установить некоторые точки останова и начать отладку? Если ваш последний «rowPerColumn» содержит более низкое значение, чем остальные, это приведет к последней странице ... Если это '4', то ваш' skip' будет '4 * 3', который равен 12, так что это действительно покажет записи с предыдущей страницы, где пропуск был «5 * 2». Объясните, что должна делать эта логика ('rowsPerColumn [i] * page'), иначе ответ будет« пропускать фиксированное количество записей »_. – CodeCaster
Взгляните на этот вопрос: http://stackoverflow.com/questions/11463734/split-a-list-into-smaller-lists-of-n-size –
Что это за группа GroupedLinksCategory? –