如果我有两个DirectoryInfo
对象,如何比较它们的语义相等性?例如,以下路径应全部视为等于C:\temp
:
C:\temp
C:\temp\
C:\temp\.
C:\temp\x\..\..\temp\.
以下内容可能等于也可能不等于C:\temp
:
\temp
如果当前工作目录在驱动器上 C:\
temp
如果当前工作目录是 C:\
C:\temp.
C:\temp...\
如果考虑当前的工作目录很重要,那么我可以自己弄清楚,所以这并不重要。尾随的点在窗口中被剥离,因此这些路径确实应该相等-但它们在unix中不被剥离,因此在mono下,我期望其他结果。
区分大小写是可选的。这些路径可能存在或不存在,并且用户可能具有该路径的权限-我更喜欢一种快速健壮的方法,该方法不需要任何I / O(因此无需权限检查),但是如果有内置的东西-我也会对“足够好”的东西感到满意...