为了账号安全,请及时绑定邮箱和手机立即绑定

不用sql语句怎么进行分页

不用sql语句怎么进行分页

潇湘沐 2018-11-26 14:16:35
不用sql语句怎么进行分页
查看完整描述

3 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

使用linq的skip take还是比较方便的。

查看完整回答
反对 回复 2018-11-30
?
ibeautiful

TA贡献1993条经验 获得超5个赞

一共有5000条记录,每页50条记录;那么第2页的记录必然是第51到第100的数据,根据索引把数据过滤出来,显示到页面上就可以了。

查看完整回答
反对 回复 2018-11-30
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

这个你可以过滤啊。

你的希望应该是:有一个5000条记录的集合,希望能从指定位置开始获取指定数量的一个连续的子集吧?

如果你用LinQ可以使用下面的代码

public IEnumable GetData(IEnumable source, int startIndex, int size)
{    return source.Skip(startIndex).Take(size);
}

如果你用的不是LinQ,那么:

public IEnumable GetData(IEnumable source, int startIndex, int size)
{    int index = 0;    foreach(var item in source)
    {        if(index < startIndex)
        {            continue;
        }        if(index - startIndex > size)
        {            break;
        }        yield return item;
}

当然,上面的枚举方法不是很好,不过,一般的情况下,你的集合应该能确定类型,比如是LIST或ARRAY等,也就是说能进行下标索引的,此时就更简单了,下面的代码就用数组来实现:

public IEnumable GetData(object[] source, int startIndex, int size)
{    for(int i = startIndex; i < startIndex + size && i < source.Length; i++)
    {        yield return source[i];
    }
}


查看完整回答
反对 回复 2018-11-30
  • 3 回答
  • 0 关注
  • 744 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信