基本的に配列の操作はスレッドセーフではないので(あるスレッドが配列に追加・削除している途中で、別スレッドでFor Eachしたら正しく列挙できない)マルチスレッドで配列のデータを操作する場合は、同時に実行されないようにロックする必要があります。 非ジェネリックな配列の型の場合、SyncRootプロパティ、Synchronizedメソッドがありましたがジェネリック型ではIntellisenseに表示されません。ですが、実装されていない訳ではなく、SyncRootの場合はICollectionインタフェースを通じて、Synchronizedメソッドの場合は非ジェネリック型の静的メソッドを通じて、スレッドセーフ化することが出来ます。 ■lockステートメントによるスレッドセーフ化 using System; using System.Collections; using System.Colle