在我的代码中,存在一个foreach
循环,该循环遍历集合中的所有项目,并在StringBuilder
内附加文本以创建“ .ics”文件。为了加快速度,我将foreach循环转换为Parallel.Foreach
循环。尽管性能有所提高,但“ .ics”文件中的文本无序,从而导致文件损坏。
“。ics”文件中预期文本的示例=>
Begin:calendar
Begin:event1
.
.
End:event1
Begin:event2
.
.
End:event2
End:Calendar
使用parallel.foreach循环=>
创建的“ .ics”文件示例Begin:calendar
Begin:event1
Begin:event2
.
.
.
.
End:Event1
End:Event2
是否可以为集合中的每个项目创建唯一的StringBuilder
,然后在循环结束时将它们加入以创建有序字符串?
答案 0 :(得分:0)
我在“ Parallel.Foreach”循环内添加了一个新的StringBuilder变量,并且在循环结束时,新的StringBuilder变量的内容附加了主要的Stringbuilder变量。 通过在循环内创建一个新的Stringbuilder变量,它充当并行运行的每个线程的私有对象。