我有个问题。我最近将其中一个更改IDictionary
为IEnumerable<KeyValuePair>
. 这样做是因为不应修改此项目集合。正如我所看到的,这些是相同的,但 IEnumerable 没有实现添加、删除等,这使得这对我和我使用这个集合的领域来说是完美的。
public IDictionary<string, UserInformation> MyItems;
public IEnumerable<KeyValuePair<string, UserInformation>> MyItems;
现在回答我的问题。
- 如果我不想修改集合,这是最聪明的方法吗?
- 有没有更聪明的方法来做到这一点?
- 我这样做是不是很傻?
我之前发现过类似的帖子,但没有一个真正解释使用什么以及为什么。