首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WEB skip()带()

WEB skip()带()
EN

Stack Overflow用户
提问于 2018-06-20 17:29:15
回答 4查看 2.1K关注 0票数 1

因此,我想在C# ASP.NET Web中分割一个“ASP.NET”,但我无法让它工作。下面的代码可能会更清楚我想要做什么。

代码语言:javascript
复制
private TestTwoContext db = new TestTwoContext();


// GET: api/Fruits/thefruits
[HttpGet]
[Route("api/Fruits/thefruits")]
public IQueryable<Fruits> TheFruits()
{
    dynamic myList = db.Fruits;
    var FiveItems = Queryable.Take(Queryable.Skip(myList, 5), 5);
    return FiveItems;
}

这使我在浏览器控制台中出错:

JQuery3.3.1.min.js:2 GET http://localhost:49771/api/Fruits/thefruits 500 (内部服务器错误)

我需要将我的列表(db.Fruits)从第5个元素减少到第10个元素。就像我们在JavaScript中分割数组一样。示例:

代码语言:javascript
复制
var myList = array.slice(5, 10)

我也尝试过这样做:

代码语言:javascript
复制
private TestTwoContext db = new TestTwoContext();


// GET: api/Fruits/thefruits
[HttpGet]
[Route("api/Fruits/thefruits")]
public IQueryable<Fruits> TheFruits()
{
    var myList = db.Fruits;
    var FiveItems = myList.Skip(5).Take(4);
    return FiveItems;
}

这给了我浏览器控制台中的错误:jQuery3.3.1.min.js:2 GET http://localhost:49771/api/Fruits/thefruits 500 (内部服务器错误)

skip和take的号码将作为护理人员通过,但这并不是我担心的部分.这些数字只是目前的例子。任何帮助都将不胜感激。

这个Conroler的工作没有问题:

代码语言:javascript
复制
// GET: api/Fruits
public IQueryable<Fruits> GetFruits()
{
    return db.Fruits;
}

返回整个水果列表,稍后我用HTML将其写在表中。

这也适用于:

代码语言:javascript
复制
[HttpGet]
[Route("api/Fruits/thefruits")]
public IQueryable<Fruits> TheFruits()
{
    var myList = db.Fruits;
    var FiveItems = myList.Take(5);
    return FiveItems;
}

但它给了我前5个元素..。不是从第五元素到第十元素。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-06-20 18:24:23

如果您发布了500个错误,那就太好了,但据猜测,这可能是因为Skip不能在EntityFramework中调用order

代码语言:javascript
复制
[HttpGet]
[Route("api/Fruits/thefruits")]
public IQueryable<Fruits> TheFruits()
{
    return db.Fruits.OrderBy(x => x.Id).Skip(4).Take(5);
}
票数 4
EN

Stack Overflow用户

发布于 2018-06-20 17:37:03

试着用这个来理解Skip()并取()。

代码语言:javascript
复制
var list = new List<long>{0,1,2,3,4,5,6,7,8,9};
var secondList = list.AsQueryable().Skip(5).Take(5).ToList();
secondList

跳过(X) ->它忽略了Iqueryable上的第一个X项

取(Y) ->限制最大结果。

产出如下:

代码语言:javascript
复制
List<long>(5) { 5, 6, 7, 8, 9 }
票数 0
EN

Stack Overflow用户

发布于 2018-06-20 17:57:38

尝试将"TheFruits“方法更新为:

代码语言:javascript
复制
// GET: api/Fruits/thefruits
[HttpGet]
[Route("api/Fruits/thefruits")]
public IQueryable<Fruits> TheFruits()
{
    dynamic myList = db.Fruits;
    var FiveItems = myList.Skip(5).Take(5);
    return FiveItems;
}

示例控制台应用程序:

代码语言:javascript
复制
    using System.Linq;

    static void Main(string[] args)
    {
        int[] test = new[] { 1, 2, 3, 4, 5, 6, 7, 8 };

        var t = test.AsQueryable().Skip(5).Take(5);

        foreach (int i in t)
        {
            Console.WriteLine(i.ToString());
        }

        Console.ReadLine();
    }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50953932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档