[英]GET Unique List from different classes using LINQ
我有2個不同屬性的類
ClassA
int Id
int Name
int Status
ClassB
int ClassAId
string Bprop1
string Bprop2
string Bprop3
...
我有ClassA列表和ClassB列表,我希望得到一個具有條件的ClassA值的唯一列表
列出ClassA.Id與屬性ClassAId上的List一起出現的位置
例:
// given
List<ClassA> {{1,"a"},{2,"b"},{3,"c"},{4,"d"}} etc
Lisst<ClassB> {{1,"aaa","ccc","aasdaf"},{3,"aaa","ccc","aasdaf"}}
// expected result
List<ClassA> {{1,"a"},{3,"c"}}
如何應用LINQ查詢?
這應該給你預期的輸出: -
List<ClassA> resultClassA = classAObj.Where(a => classBObj.Any(b => b.ClassAId == a.Id))
.ToList();
這是你要找的東西:
List<ClassA> objA;
List<ClassB> objB;
List<ClassA> result = objA.Where(x => objB.Select(y => y.ClassAId).Contains(x.Id));
不要忘記用數據定義你的objA
和objB
。
如果你有dublicate值objA
你只應該使用.Distinct()
結尾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.