如何比较这两个通用列表并根据ID获取匹配数据
List<int> _GetRecCust;
List<Tranobject> GetTransDeta;
Run Code Online (Sandbox Code Playgroud)
我试过了
var TransactionsToProcess = GetTransDeta.Where(x => _GetRecCust.Contains(Convert.ToInt32(x.ID)));
Run Code Online (Sandbox Code Playgroud)
但无法获得comman ID数据.
两者都有ID一个领域.
提前致谢
在最efficien牛逼的方法是使用Enumerable.Join:
var common = from x in GetTransDeta
join id in _GetRecCust
on int.Parse(x.Id) equals id
select id;
List<int> commonIDs = common.ToList();
Run Code Online (Sandbox Code Playgroud)
顺便说一句,为什么Tranobject.Id一个字符串呢?
编辑:既然你已经评论过有nulls,你可以IsNullOrWhiteSpace先使用:
var common = from x in GetTransDeta
where !string.IsNullOrWhiteSpace(x.Id)
join id in _GetRecCust
on int.Parse(x.Id) equals id
select id;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
734 次 |
| 最近记录: |