从列表C#获取特定元素

时间:2013-06-04 12:54:52

标签: c#

我想知道是否有任何方法可以从列表中获取特定元素,例如

//如果A.Nr = 15直接得到b.Nr = 15而不是b.Nr看1,2,3,......

请参阅下面的代码段,评论解释了我想要做的事情。 我希望有人能帮助我。

    private void btnFind_Click_1(object sender, EventArgs e)
    {

        List<Excel> lrez = new List<Excel>();
        var query = from li in listIndex
                    where li.Value == int.Parse(txtValue.Text)
                    select li;
        List<Excel> lresult = new List<Excel>();
        lresult = query.ToList();
        LinkedList<LinkList> linkedList = new LinkedList<LinkList>();
        for (int i = 0; i < lrsult.Count; i++)
        {
            LinkList a = new LinkList();
            Node A = new Node();
            A.Data = lresult[i].Nr;
            A.Nr = lresult[i].Nr;
            a.AddNode(A);
            linkedList.AddLast(a);

            Excel ex = lista.FirstOrDefault(b => b.Nr == A.Nr);
    //if A.Nr=15 get directly b.Nr=15 and not b.Nr to look 1,2,3,...                
    lrez.Add(ex);

        }
        dgvRez.AutoGenerateColumns = false;
        dgvRez.DataSource = lrezultati;
}

1 个答案:

答案 0 :(得分:2)

尝试使用LINQ:

Excel result = lista.SingleOrDefault(e => e.Nr == 15);

如果找不到这样的项目,则返回null。