2014-04-24 2 views
1

두 파일 경로 문자열이 동일한 경로를 지정하는지 확인하려고합니다.크로스 플랫폼 파일 경로 비교

Windows에서 경로가 대소 문자를 구분하지 않는다는 것을 알고 있습니다. 나는 리눅스에서 제대로 작동하지 알고

Path.GetFullPath(path1).Equals(Path.GetFullPath(path2), StringComparison.CurrentCultureIgnoreCase) 

대소 문자가있는 경로를 야기한다. 그래서 나는 경로에 대한 플랫폼 대소 문자 구분의 표시를 찾고있다. 또는 Path.Equals과 같은 일부 기능.

답변

1

Path.DirectorySeparatorChar이 '/'또는 '\'와 같은지 확인하는 것이 가장 쉽고 (가장 신뢰할 수있는 방법 일 것입니다.) 전자의 경우 "IgnoreCase"부분없이 같은 방법을 호출하십시오. 전체에서

:

if(Path.DirectorySeparatorChar == '/') 
{ 
    Path.GetFullPath(path1).Equals(Path.GetFullPath(path2), StringComparison.CurrentCulture); 
} 
else 
{ 
    Path.GetFullPath(path1).Equals(Path.GetFullPath(path2), StringComparison.CurrentCultureIgnoreCase); 
} 
+0

Hhmmm, 그것은 꽤 흥미 롭군요. 답변 감사합니다. 나는 명확한 것을 희망했다. – mazharenko

관련 문제