【C#】非同期時にリスト操作をすると起こるエラー「invalidoperationexception collection was modified enumeration operation may not execute.」の対処法
目次
原因
「invalidoperationexception: collection was modified enumeration; operation may not execute.」は、別スレッドとメインスレッドで同じリストを操作しようとすると起こるエラーです。
解決策
C#には非同期でリストを操作するためのConcurrentBag
というリストを非同期操作に対応させたバージョンのリストがあります。基本的には単純に書き換えるだけでエラーがでなくなります。
using System.Collections.Concurrent;
が必要です。
1 |
|
【C#】非同期時にリスト操作をすると起こるエラー「invalidoperationexception collection was modified enumeration operation may not execute.」の対処法