簡體   English   中英

使用LINQ從不同的類中獲取唯一列表

[英]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));

不要忘記用數據定義你的objAobjB

如果你有dublicate值objA你只應該使用.Distinct()結尾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM