我有两个想与 PLINQ 一起使用的枚举,如何正确组合它们?他们来了:
List<Message> messageList=...;
IEnumerable<int> lineNums=Enumerable.Range(1,messages.Count);
IEnumerable<Message> messages=messageList;
简而言之,我想并行应用一些复杂的耗时格式并将行号映射到消息。这就是我的意思(没有行号),因为我不知道如何将它们整合到这个表达式中:
var formattedLine=messageList.AsParallel().AsOrdered().Select(message =>
{
... // Some work here to be done in parallel
return string.Format(...); // Some formatting here of message
}
然后,我将通过简单的 foreach 使用格式化的结果:
foreach (var line in formattedLine)
...
好吧,以上内容对消息有好处,但我想在其中包含一些格式化的 lineNums 从可枚举中与消息一一对应。我不能只在 lambda 中互锁递增一个整数,因为我不会得到有序的结果。所以,我想基本上我需要两个可枚举的一对一映射作为我的参数到 lambda。
我该怎么做呢?