C# 如何比较两个泛型列表一个包含int,另一个包含class对象

C# 如何比较两个泛型列表一个包含int,另一个包含class对象,c#,generic-list,C#,Generic List,如何比较这两个通用列表并根据ID获取匹配数据 List<int> _GetRecCust; List<Tranobject> GetTransDeta; 但无法获取comman ID数据 两者都具有ID作为字段 提前感谢t方法正在使用可枚举。加入: 试试这个: GetTransData.Where(gtd => _GetRecCust.Any(grc => grc == int.Parse(gtd.Id))).ToList(); 谢谢你,我得到的输入字符串

如何比较这两个通用列表并根据ID获取匹配数据

List<int> _GetRecCust;
List<Tranobject> GetTransDeta;
但无法获取comman ID数据

两者都具有ID作为字段

提前感谢

t方法正在使用可枚举。加入:

试试这个:

GetTransData.Where(gtd => _GetRecCust.Any(grc => grc == int.Parse(gtd.Id))).ToList();

谢谢你,我得到的输入字符串格式不正确。@Rahul:可能是因为Id不能转换为int,有可能吗?您有空字符串、null或空格吗?是的,在某些情况下我也有null。如何应用null条件check@Rahul:您想如何处理这些空值,只需跳过它们或链接id=0?我不想使用空值,但我可以在同一查询中检查空值,或将0分配给空值。感谢您的帮助,我得到的输入字符串格式不正确。。。
var common = from x in GetTransDeta
             join id in _GetRecCust
             on int.Parse(x.Id) equals id
             select id;
List<int> commonIDs = common.ToList();
var common = from x in GetTransDeta
             where !string.IsNullOrWhiteSpace(x.Id)
             join id in _GetRecCust
             on int.Parse(x.Id) equals id
             select id;  
GetTransData.Where(gtd => _GetRecCust.Any(grc => grc == int.Parse(gtd.Id))).ToList();