本当に単純なはずなのに、驚くべきことに、良い解決策が思い浮かびません。おそらく、私は明らかな何かを見逃しています。
複数回ループしてテストし、オブジェクトがテストの基準を満たす回数を集計したいオブジェクトのリストがあります。次のようにします。
var tallies = new List<Tuple<object, int>>();
foreach (var talliedObject in myObjects) {
// Initialize
tallies.add(new Tuple<object, int>(talliedObject, 0));
}
while (...) {
updateTallies(tallies, stuffToCheckAgainst);
}
thisTuple.Item2++
しかし、問題は、 Tuple の値が不変であるため、集計をインクリメントするとは言えません。KeyValuePair
の値も同様です。「変更可能な構造体は悪」であるため、これはすべて設計によるものです。この場合、なぜ彼らは悪なのですか?実際に変更できる関連する整数とともにオブジェクトを格納するカスタム クラスを作成する必要がありますか?