c# - 使用 LINQ 从不同类获取唯一列表

标签 c# linq

我有两个不同属性的类

ClassA
    int Id
    int Name
    int Status

ClassB
    int ClassAId
    string Bprop1
    string Bprop2
    string Bprop3
    ...

我有 ClassA 的列表和 ClassB 的列表,我想获得具有条件的 ClassA 值的唯一列表

List where ClassA.Id is present with List on property ClassAId

例子:

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

关于c# - 使用 LINQ 从不同类获取唯一列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35312927/

相关文章:

c# - 如何迭代具有标志的枚举值?

c# - 在C#中将Excel上传到SQL Server时自动添加上传者(用户名或名称)

c# - 与生成器和序列相关的有趣事情

c# - 使用 LINQ 将 DataRow 转换为字典

c# - 如何最好地构建此 API 以存储通用委托(delegate)以供以后执行

c# - 了解字节数组的大小

c# - 反序列化的 xml - 在不知道特定类型的情况下检查是否有子节点

.net - LINQ 和 .COUNT 超时

c# - 2 个数字范围之一中的“where”属性

c# - 如何将 SQL 转录为 LINQ