C#比较数组

标签 c# linq list

大家下午好

这个问题有点简单,但我整个下午都遇到了问题

我有 2 个列表:

  • 整数列表(ids)
  • 对象列表(包含 ID)

我想比较它们,但我想获得没有配对的 id(如果它存在)

我想知道是否有 c# 或 linq 方法来识别两个数组中不同的值

例子

如果我有

List<int> ids = {1,2,3,4,5}

List<objectX> x = (contains id,code, and description)

我正在尝试类似的东西

foreach (int id in ids)
        {
            foreach (objectX item in x)
            {
                if (item.id == id)
                {
                    break;
                }
                else
                    idDiferentes.Add(id);
            }
        }

但就像你想象的那样它不起作用

例如

ids= {1,2,3,4}
objectx[id] ={1,3,2}

当我比较它们时,id 是不同的,所以我得到一个更大的列表,我需要的列表

我也尝试过使用 linq 外连接,但我不明白它是如何工作的

最佳答案

var idsWithoutObjects = ids.Except(x.Select(item => item.id));

关于C#比较数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6077031/

相关文章:

c# - 解析 XML 内容 - C#

c# - 是否有用于注释 C# 代码的标准(如 phpdoc 或 python 的文档字符串)?

Python查找两个列表的最小值和最大值

python - 使用行号python打印出每一行(来自文件)

c# - 如何从对象列表中删除重复项?

c# - 协方差和 IList

c# - Linq:获取也在列表中的列表中的项目

linq - 选择和选择很多不同

asp.net - 如何将 LINQ 结果变量绑定(bind)到 asp.net 中的 Gridview

c# - 在嵌套列表中按属性排序列表