2017-03-01 5 views
-6

上にあるときに、リストから項目を取得します。(C#のLINQ)あなたのIDは、このコードから始まる別のリスト

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); 

私は唯一の「idinvoice = 1」を持つオブジェクトが残っているとことを「リスト」に必要idprodはidprod listに含まれています。あなたは

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

を行う必要があり

おかげ

+1

objeto()はコンパイルされません – apomene

+0

"idinvoice = 1"のオブジェクトが残っており、idprodがidprodリストに含まれているオブジェクトのみがリストに必要です。そしてあなたの問題は何ですか? – HimBromBeere

答えて

1

はSOに入れる前に、あなたのコードに見てください。 class objeto()class objetoである必要があります。

また、クラスとオブジェクトに分かりやすい名前を選択してください。

+0

質問には、構文: 'class objeto()'について言及する必要があります。 –

+0

細かく動作します。 – Carlos

関連する問題