我有一個任務寫一個對象,可以接收不同類型的路徑/ 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
...等等。
如何檢查C#
如果它是物理路徑,相對網址或絕對網址?
我認爲知道它是相對的還是絕對的uri是相對容易的,但是如何知道它是否是UNC路徑?我試圖使用Uri對象和它的IsUnc屬性,但它並不真正幫助我...對於c:\ temp它返回false,爲「/ temp」,「temp /」和「temp」它拋出格式不正確的例外。在.NET 3.5
中是否存在可以幫助我的任何內置對象,或者我可以使用什麼算法來確定路徑的類型?
那麼, 「/ TEMP」 的確不是一個URI的。什麼是你想要檢查的確切格式?如果只是路徑和URI,您可以先區分它們,併爲每個技術應用不同的技術。 – Vlad
爲什麼「/ temp」不是有效的URI?我認爲它可以解釋爲相對的。我需要檢查所有格式,並確定它是什麼類型...是UNC路徑還是URI路徑...我如何區分它們? –
那麼,http://tools.ietf.org/html/rfc3986。它不以一個方案開頭,例如(http:或文件:會做) – Vlad