我有一个看起来应该很简单的问题,但令人惊讶的是我无法找到一个好的解决方案。也许我错过了一些明显的东西。
我有一个对象列表,我希望循环多次,测试,并计算对象满足我的测试条件的次数,如下所示:
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++
增加我的计数,因为元组的值是不可模仿的。aKeyValuePair
的值也是如此。显然这都是设计使然,因为“可变结构是邪恶的”。为什么在这种情况下他们是邪恶的?我真的必须创建一个自定义类来存储我的对象以及我可以实际修改的关联整数吗?