Если у меня есть два объекта DirectoryInfo
, как я могу их сравнить для семантического равенства? Например, следующие пути должны считаться равными C:\temp
:
-
C:\temp
-
C:\temp\
-
C:\temp\.
-
C:\temp\x\..\..\temp\.
Следующее может быть или не быть равно C:\temp
:
-
\temp
, если текущий рабочий каталог находится на дискеC:\
-
temp
, если текущий рабочий каталогC:\
-
C:\temp.
-
C:\temp...\
Если важно рассмотреть текущий рабочий каталог, я могу понять это сам, так что это не так важно. Трейлинг точек удаляются в окнах, поэтому эти пути действительно должны быть равными - но они не разделяются на unix, поэтому в моно я ожидаю других результатов.
Чувствительность к регистру не является обязательной. Пути могут существовать или не существовать, и пользователь может иметь или не иметь разрешений на путь - я бы предпочел бы быстрый надежный метод, который не требует ввода-вывода (поэтому проверки на отсутствие), но если что-то построено - Я тоже был бы доволен чем-то "хорошим"...