【发布时间】:2014-07-09 18:23:13
【问题描述】:
我正在使用 Dictionary 使用 DirectoryInfo 和 FileInfo 等对象作为键。以这种方式使用它们是否安全?如何确保可以安全地以这种方式使用对象类型?
【问题讨论】:
-
嗨丹尼尔,我个人不明白你为什么使用目录信息或文件信息作为键。我个人用来设置键并将字典设置为字典(字符串,对象)。可能显示我们一点点代码,以便更好地理解你为什么这样做?
-
在此上下文中定义“安全”。您的期望是什么?
-
stackoverflow.com/questions/18653083/… 抱歉,但是当通过 MSDN 等进行搜索时,我经常惊讶地发现这里有多少问题会给出答案。我想如果是我,我实际上只是编写代码并找出它是如何工作的——这就是所谓的编程。不想抨击任何人,但我在 stackoverflow 中到处都看到类似的问题,我想知道为什么会有这么多重复
-
编程也是为了写出稳定的代码。如果您依赖未记录但已观察到的行为,则无法确定您的代码似乎可以工作多长时间。编写
GetHashCode实现时的“规则”之一是,每次在同一个对象实例上调用该方法时,都应该得到相同的值。在这方面,使用特定的DirectoryInfo对象作为键是安全的。如果您希望围绕同一路径字符串构建的两个对象可以作为键互换,文档声明不,您不能依赖它,并且观察到的行为支持这一点。