大家下午好
这个问题有点简单,但我整个下午都遇到了问题
我有 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/