Modo più generale per rendere un oggetto Uri?
Domanda
Ho bisogno di convertire tutte le seguenti forme in oggetto .NET Uri:
- "hello.world"
- ".. \ qualcosa \ quacosa"
- "../ qualcosa / quacosa / else"
- "c: \ autoexec.bat"
- " http://whatever.com/nevermind.html "
- più o meno qualsiasi altra cosa che ci si potrebbe aspettare di trovare in qualcosa di costruzione di percorso locale o web.
Ho già controllato un new Uri("..\somthing\something")
e new Uri("../something/somthing/else")
non funzionano. Anche statica nessuno di Uri
sembrano essere per questo.
Tutte le idee accanto a un albero logica grande e / o regex?
Soluzione
Prova il seguente
new Uri("../whatever",UriKind.RelativeOrAbsolute);
Senza il flag RelativeOrAbsolute l'Uri tenterà di analizzare un completo URI assoluto. Aggiungendo la bandiera la lascerà analizzare essenzialmente qualsiasi URI valido (relativo o assoluto)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow