当前位置:  开发笔记 > 编程语言 > 正文

LINQ如何获取一条记录并跳过休息c#

如何解决《LINQ如何获取一条记录并跳过休息c#》经验,为你挑选了1个好方法。

我试图拿一张唱片然后跳过休息.我的代码不会抛出任何错误但不提供任何输出.这是我的代码.所以请看一下,告诉我我的代码有什么问题.

public sealed class Person
{
    public Person() { }
    public Person(string name,bool HQ) {
        this.Name = name;
        this.HQ = HQ;
    }

    private string _Name;
    public string Name
    {
        get { return _Name; }
        set { _Name = value; }
    }

    private bool _HQ;
    public bool HQ
    {
        get { return _HQ; }
        set { _HQ = value; }
    }
}

  protected void btn_Click(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Name",typeof(string));
        dt.Columns.Add("HQ", typeof(bool));

        DataRow dr = null;
        dr = dt.NewRow();
        dr["Name"]="Arijit";
        dr["HQ"]=true;
        dt.Rows.Add(dr);

        dr = dt.NewRow();
        dr["Name"] = "Dibyendu";
        dr["HQ"] = false;
        dt.Rows.Add(dr);

        dr = dt.NewRow();
        dr["Name"] = "Tridip";
        dr["HQ"] = false;
        dt.Rows.Add(dr);


        List oPerson1 = (from c in dt.AsEnumerable()
            select new Person
            {
                Name = c.Field("Name"),
                HQ = c.Field("HQ")
            }).Skip(1).Take(2).ToList();


        List oPerson2 = (from c in dt.AsEnumerable()
            select new Person
            {
                Name = c.Field("Name"),
                HQ = c.Field("HQ")
            }).Take(1).Skip(2).ToList();

    }

Stecya.. 9

如果你想采取第一条记录,你可以调用这些Take(1),First(),FirstOrDefault()

如果你想在中间取1条记录,请调用:Skip(n).Take(1)where n- 是跳过的记录数

当你打电话Take(n)- 之后不需要调用Skip时,它已经选择了n条记录



1> Stecya..:

如果你想采取第一条记录,你可以调用这些Take(1),First(),FirstOrDefault()

如果你想在中间取1条记录,请调用:Skip(n).Take(1)where n- 是跳过的记录数

当你打电话Take(n)- 之后不需要调用Skip时,它已经选择了n条记录

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有