用linq组合两个列表

本文关键字:两个 列表 linq 组合 | 更新日期: 2023-09-27 18:21:22

我有两个列表:

    var myIds = new List<int>()
        {
            1, 2, 3
        };
    var yourIds = new List<int>()
        {
            2, 3, 4
        };

我怎么能把这两份清单合并为一份呢。新列表如下所示:

Id    Mine     Yours
---------------------
1      T         F
2      T         T
3      T         T
4      F         T

两者都包含整数,只是名称不同。我曾想过创建两个附加列表,其中包含一个表示每个列表名称的属性,但我相信还有更好的方法。

用linq组合两个列表

myIds.Union(yourIds)
.Select(x => new 
             { 
                 Id = x,
                 Mine = myIds.Contains(x), 
                 Yours = yourIds.Contains(x)
             });