You can create your own Parallel.ForEach thread culture:
public static class ParallelInheritCulture { public static ParallelLoopResult ForEach<T>(IEnumerable<T> source, Action<T> body) { var parentThreadCulture = Thread.CurrentThread.CurrentCulture; var parentThreadUICulture = Thread.CurrentThread.CurrentUICulture; return Parallel.ForEach(source, e => { var currentCulture = Thread.CurrentThread.CurrentCulture; var currentUICulture = Thread.CurrentThread.CurrentUICulture; try { Thread.CurrentThread.CurrentCulture = parentThreadCulture; Thread.CurrentThread.CurrentUICulture = parentThreadUICulture; body(e); } finally { Thread.CurrentThread.CurrentCulture = currentCulture; Thread.CurrentThread.CurrentUICulture = currentUICulture; } }); } }
Then:
ParallelInheritCulture.Foreach(ids, id => {
Ksv3n source share