I understand the comment on next update, but perhaps it's better to add to a list<PlayerInfo> and then iterate through the list when you finish iterating the dictionary. I think it will be clearer and more self contained. Then you won't need to also create a blank PlayerInfo, just a list when you start.