(C#Linq)当您的ID在另一个列表中时,从列表中获取项目

时间:2017-03-01 12:53:56

标签: c# linq

从这段代码开始:

class objeto
{
    public string codprod {get; set;}
    public int idprod {get; set;}
    public int idinvoice {get; set;}
}    

List<objeto> lista = new List<objeto>();
lista.Add(new objeto() {codprod = "a", idprod = 1, idinvoice = 1});
lista.Add(new objeto() {codprod = "a", idprod = 1, idinvoice = 2});
lista.Add(new objeto() {codprod = "a", idprod = 1, idinvoice = 3});
lista.Add(new objeto() {codprod = "b", idprod = 2, idinvoice = 1});
lista.Add(new objeto() {codprod = "c", idprod = 3, idinvoice = 1});

List<int> listaIDprod = new List<int>();
listaIDprod.Add(1);
listaIDprod.Add(2);

我需要在“list”中只保留“idinvoice = 1”的对象,并且idprod包含在idprod列表中。

由于

1 个答案:

答案 0 :(得分:1)

你需要做

var result = lista.Where(foo => foo.idinvoice == 1 && 
                                listaIDprod.Contains(foo.idprod)).ToList();

在穿上SO之前,请查看您的代码。 class objeto()应为class objeto

另外,请为您的课程和对象选择合理的名称。