LINQ如何记录一条记录并跳过其余的C# [英] LINQ How to take one record and skip rest c#
本文介绍了LINQ如何记录一条记录并跳过其余的C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图做一个记录,而跳过其他记录.我的代码没有抛出任何错误,但是没有给出任何输出.这是我的代码.所以请看一看,告诉我我的代码出了什么问题.
i tried to take one record and skip rest other. my code does not throw any error but does not give any output. here is my code. so please have a look and tell me what is wrong in my code.
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<Person> oPerson1 = (from c in dt.AsEnumerable()
select new Person
{
Name = c.Field<string>("Name"),
HQ = c.Field<bool>("HQ")
}).Skip(1).Take(2).ToList();
List<Person> oPerson2 = (from c in dt.AsEnumerable()
select new Person
{
Name = c.Field<string>("Name"),
HQ = c.Field<bool>("HQ")
}).Take(1).Skip(2).ToList();
}
推荐答案
尝试以下代码.
Person oPerson1 = (from c in dt.AsEnumerable()
select new Person
{
Name = c.Field<string>("Name"),
HQ = c.Field<bool>("HQ")
}).First(); //first person in a list
Person oPerson2 = (from c in dt.AsEnumerable()
select new Person
{
Name = c.Field<string>("Name"),
HQ = c.Field<bool>("HQ")
}).Skip(1).First(); //second person in a list
However this code can be rewritten to be clearer:
List<Person> persons = from c in dt.AsEnumerable()
select new Person
{
Name = c.Field<string>("Name"),
HQ = c.Field<bool>("HQ")
};
Person oPerson1 = persons[0];
Person oPerson2 = persons[1];
这篇关于LINQ如何记录一条记录并跳过其余的C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文