我有一组将用于某些过程的对象。
var x = new List<MyObject>() { new MyObject(), new MyObject(), ... }.ToArray();
处理结束后,它返回与每个输入对象相对应的结果数组。
var y = MyProcess(x); // returns List<MyResult>
现在,我的问题是如何查询给定条件和相应输入对象的结果列表?
例如,如果y[2].IsOkay
is false
,我想同时获得x[2]
and y[2]
在另一个数组中。
数组 x 和 y 中的对象除了索引之外没有引用键。
嗯,你可以使用Zip将它们配对:
var pairs = x.Zip(y, (a, b) => new { a, b })
.Where(pair => !pair.b.IsOkay)
.ToArray();
您可以更改传递给的委托Zip
如果您愿意,可以以不同的方式组合这两个值 - 例如,使用命名类型而不是我上面得到的匿名类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)