记Enumerable.Repeat踩过的坑

最近项目中有用到生成多个对象,并用多线程来执行任务,所以首先想到用Enumerable类的Repeat方法来快速生成指定数量的对象,并用Parallel.ForEach遍历对象异步调用对象的方法来执行任务,最后经过调试发现Enumerable.Repeat生成的不只是相同的对象,而且是连引用都相同,为了发现这个问题用了近2天时间,开始以为是多线程的并发问题,后来怀疑是生成的对象问题,百度发现也有人遇到过这种问题,解决办法还是不要偷懒,老老实实循环生成对象,并存到List中,再调用Parallel.ForEach来遍历执行任务。

原文地址:https://www.cnblogs.com/object-jw/p/12880228.html