如何维护DataTable的开始和结束索引

How to maintain Start and End index of DataTable

我有一个包含 13 行的数据表。我想创建一批具有开始和结束索引

的 5 行

我想创建一个数组或哈希表来存储开始和结束索引

decimal remainder = Decimal.Divide(dsResult.Tables[0].Rows.Count, 5);
var numberOfRequests = Math.Ceiling((decimal)remainder);

上面的代码会给我输出 3 for 13 records means 5+5+3

所以预期 ArrayHashtable 如下

0  0   4
1  5   9
3 10  12

第一列是增量值, 第二列是 DataTable 行起始索引 第三列是数据表行结束索引

请建议我如何实现它。

试试这个

            DataTable dt = new DataTable();
            dt.Columns.Add("Index", typeof(int));
            dt.Rows.Add(new object[]{1});
            dt.Rows.Add(new object[]{2});
            dt.Rows.Add(new object[]{3});
            dt.Rows.Add(new object[]{4});
            dt.Rows.Add(new object[]{5});
            dt.Rows.Add(new object[]{6});
            dt.Rows.Add(new object[]{7});
            dt.Rows.Add(new object[]{8});
            dt.Rows.Add(new object[]{9});
            dt.Rows.Add(new object[]{10});
            dt.Rows.Add(new object[]{11});
            dt.Rows.Add(new object[]{12});
            dt.Rows.Add(new object[]{13});
            dt.Rows.Add(new object[]{14});
            dt.Rows.Add(new object[]{15});
            dt.Rows.Add(new object[]{16});


            var results = dt.AsEnumerable()
                .Select((x,i) => new {index = i, row = x})
                .GroupBy(y => (int)(y.index/5))
                .Select(z => z.Select(a => a.row).ToList()).ToList();