다른 유형의 경로/URL을 수신 할 수있는 객체를 작성하고 어떤 유형의 경로/URL을 반환 할 작업이 있습니다. 예를 들어, 경로는물리적, 상대, 절대 및 기타 경로
1. [drive]:\Temp
2. \\Temp
3. Temp (assuming that it relative Temp),
4. /Temp
5. ~/Temp
6. file://[drive]:/Temp
7. file://Temp
8. [scheme]://something/Temp
... 등이 될 수 있습니다.
실제 경로, 상대 URL 또는 절대 URL 인 경우 C#
을 어떻게 확인할 수 있습니까?
상대적이거나 절대적인 URI인지 여부는 비교적 쉽게 알 수 있지만 UNC 경로인지 어떻게 알 수 있습니까?
Uri 객체를 사용하려고했지만 IsUnc 속성을 사용하려고했지만 실제로는 도움이되지 않습니다. c : \ temp의 경우 "/ temp", "temp /"및 "temp"에 대해 false를 반환합니다. 형식이 올바르지 않은 예외입니다. 어떤 도움이 될 .NET 3.5
에 객체가 내장되어 있습니까? 아니면 어떤 알고리즘을 사용하여 경로 유형을 결정할 수 있습니까?
글쎄, "/ 온도는"전혀 사실이 아닌 URI입니다. 확인하려는 정확한 형식은 무엇입니까? 경로 및 URI 일 경우 우선 경로를 구별하고 각각에 대해 서로 다른 기술을 적용 할 수 있습니다. – Vlad
"/ temp"가 유효한 URI가 아닌 이유는 무엇입니까? 나는 그것이 친척으로 해석 될 수 있다고 생각한다. 모든 형식을 확인하고 어떤 형식인지 결정해야합니다 ... UNC 경로인지 또는 URI 경로인지 ... 어떻게 구분할 수 있습니까? –
음, http://tools.ietf.org/html/rfc3986. – Vlad