ich eine Liste von Zahlen haben, wie unten dargestellt:Linq Ergebnisse der Liste der Objekte zur Abfrage basierend auf einer anderen Liste
1) List<long> list1 : 101, 102, 103
Und ich habe eine Liste von Gegenständen, in denen eine Eigenschaft lang ist:
2) List<SomeObject> list2:
SomeObject[0]- (long)Id : 101,
Name: Adam,
Address:xxx
SomeObject[1]- (long)Id : 102,
Name: Bran,
Address:xxx
SomeObject[2]- (long)Id : 109,
Name: Queen,
Address:yyy
Ich möchte die zweite Liste abfragen, wenn es Ids in list1 vorhanden ist. enthält Bedeutung Ich sollte Liste erhalten:
SomeObject[0]
SomeObject[1]
den Code Versuchte unten ohne Erfolg:
(from t2 in list2
where list1 .Any(t => t2.Id.Contains(t)) == true
select t2);
Vielen Dank im Voraus.
Vielleicht können Sie auch erklären, warum das Konzept der OP nicht funktionierte. Er hat immerhin "Contain" benutzt. – Lumen
@TimSchmelter 't' ist auch ein' long', aber er prüft 'Id' nicht für' t'. Er überprüft "Id" für "t2", das ist "SomeObject", das "Id" hat. –