我有號碼的列表上對象名單,結果如下圖所示:的LINQ查詢基於另一個列表
1) List<long> list1 : 101, 102, 103
而且我有對象的列表,其中一個屬性就是長:
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
我想查詢第二個列表,如果它有Id的列表1中存在。這意味着我應該得到包含列表:
SomeObject[0]
SomeObject[1]
嘗試下面沒有成功的代碼:提前
(from t2 in list2
where list1 .Any(t => t2.Id.Contains(t)) == true
select t2);
感謝。
也許你也可以解釋爲什麼OP的做法沒有奏效。畢竟,他確實使用過「Contain」。 – Lumen
@TimSchmelter't'也是一個'long',但他不會爲't'檢查'Id'。他檢查'Id'是否爲't2',即'SomeObject'具有'Id'。 –