Necesito agregar alguna información de consulta adicional a la ruta del archivo como parámetro de consulta para analizar la ruta más tarde durante el procesamiento de archivos. Pensé que la clase System.Uri me puede ayudar con esto, pero parece que no me da lo que esperaba para las rutas locales de archivos.¿Por qué System.Uri no reconoce el parámetro de consulta para la ruta del archivo local?
var fileUri = new Uri("file:///c://a.txt?select=10")
// fileUri.AbsoluteUri = "file:///c://a.txt%3Fselect=10"
// fileUri.Query = ""
var httpUri = new Uri("http://someAddress/a.txt?select=10")
// httpUri.AbsoluteUri = "http://someaddress/a.txt?select=10"
// httpUri.Query = "?select=10"
En el caso de "ftp:? //someAddress/a.txt seleccione = 10" - cadena de consulta es también vacía
entiendo que System.Uri probablemente resuelve "un . txt? select = 10 "para corregir el nombre de archivo" a.txt% 3Fselect = 10 ", pero ¿POR QUÉ - cómo escapar de esto?
Gracias de antemano
@Oded Puesto que son Uris. Y Uris tiene parámetros. – ordag
@ordag - Mi punto es que los servidores FTP y el sistema operativo no harán _cualquier_ con estos parámetros. – Oded
@Oded Eso es cierto, sin embargo son válidos. Y el autor quiere analizar esos parámetros por sí mismo en el procesamiento posterior. – ordag