次のように、 current という変数に空白値の巨大な辞書があります。
struct movieuser {blah blah blah}
Dictionary<movieuser, float> questions = new Dictionary<movieuser, float>();
したがって、この辞書をループして、次のように「回答」を入力する必要があります。
for(var k = questions.Keys.GetEnumerator();k.MoveNext(); )
{
questions[k.Current] = retrieveGuess(k.Current.userID, k.Current.movieID);
}
ループしている辞書を変更しようとすると InvalidOperationException が発生するため、これは機能しません。ただし、値を追加または削除するのではなく、値を変更するだけなので、コードは正常に機能するはずです。しかし、私がこれを試みることを恐れている理由は理解できます。
これを行うための好ましい方法は何ですか? イテレータを使用せずに辞書をループする方法がわかりません。
配列全体のコピーを作成したくはありません。これは大量のデータであり、まだ感謝祭のように RAM を使い果たしてしまうからです。
ありがとう、デイブ