2017-03-01 4 views
-6

von diesem Startcode:(C# Linq) Holen Sie Elemente aus einer Liste, wenn Ihre ID auf einer anderen Liste ist

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

ich in „Liste“ müssen nur die Objekte, die „idinvoice = 1“ haben bleiben und dass idprod ist in der idprod-Liste enthalten. Blick in den Code

Dank

+1

Ausgehend von diesem Code: objeto() wird nicht kompiliert – apomene

+0

"Ich brauche in" liste "nur die Objekte, die" idinvoice = 1 "übrig haben und das idprod ist in idprod Liste enthalten." Und was ist dein Problem dabei? – HimBromBeere

Antwort

1

Sie benötigen

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

Bitte zu tun, bevor SO setzend. class objeto() sollte class objeto sein.

Wählen Sie auch sinnvolle Namen für Ihre Klassen und Objekte.

+0

Sie sollten über die Syntax sagen: 'Klasse objeto()' in der Frage. –

+0

Funktioniert gut. Vielen Dank. – Carlos

Verwandte Themen