質問

を探していることができる同時コレクションのC#とともに、収集を支援する並列挙子.現在のようになっているInvalidOperationExceptionの収集に渡って繰り返し処理します。私だけでディープコピーの作業専用のコピーだったがある場合はその方法

コードスニペット:

foreach (String s in (List<String> )callingForm.Invoke(callingForm.delegateGetKillStrings))
    {
        //do some jazz
    }

--編集--

私の答えが見つかりしないといけないということを確保するコードした文書コレクションに必要を取得しようとしたときにロックします。

    private void addKillString(String s)
    {
        lock (killStrings)
        {
            killStrings.Add(s);
        }
    }
役に立ちましたか?

解決

どのように深い-コピーの最良のベットがロックのコレクション

   List<string> theList = (List<String> )callingForm.Invoke(callingForm.delegateGetKillStrings);
    lock(theList.SyncRoot) {
        foreach(string s in theList) {
               // Do some Jazz
        }
    }

他のヒント

なんかうまいものの、平行な拡張をチームに取りそろえております。もっともにあります。このブログにて 列挙並列館.またリンクのダウンロード並列CTPでの閲覧を通じて他のブログの投稿、マーケティングなどのCTPは、どのようにプログラミングモデルです。

を利用する場合は、FCLコレクション、そしてロックを支援するうえでも、こういった繰り返し処理/改質から複数のスレッドが重なっているのです。

ご注意ご利用してロックオブジェクトです。使用SyncRootだいた場合の回収自体は個人会員のクラスとして使用します。ますが、コレクションが保護された、そしてクライアントのクラスで独自のロックおSyncRootるdeadlockingとのコードクラスです。

ご興味のある方を楽しめるように第3者による収集は、図書室、私のおすすめの優れた C5ェコの図書館.この家族のツリーに基づくコレクションを簡単かつ安全に修正すること、反復と同時にロック無し-切8.10、9.11の優れた文書。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top