微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将2个列表传递给Parallel.ForEach?

如何解决如何将2个列表传递给Parallel.ForEach?

| 如何将2个列表传递给
Parallel.ForEach
? 例:
List<Person> a = new List<Person>() { new Person(),new Person(),new Person() };
List<Car> b = new List<Car>() { new Car(),new Car(),new Car() };

//PSEUDO CODE
Parallel.ForEach(a,b,(person,car) => {
    //WORK ON person,WORK ON car
});  
我宁愿避免将Person和Car封装到Object容器中。这可能吗?     

解决方法

如果您正在使用.NET 4(可能是),并且尝试将第一个
Person
与第一个
Car
等配对,则可以仅使用
Zip
List<Person> a = new List<Person>() { new Person(),new Person(),new Person() };
List<Car> b = new List<Car>() {} { new Car(),new Car(),new Car() };
var zipped = a.Zip(b,(person,car) => new { person,car });

Parallel.ForEach(zipped,pair => {
    Person person = pair.person;
    Car car = pair.car;
});
    ,您正在寻找
Enumerable.Zip
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。