Necesito extraer la información de ruta usando Path.GetFileName()
, y esta función no funciona cuando el último carácter de la cadena de entrada es DirectorySeparatorChar ('/' o '\').Eliminar el último carácter si es DirectorySeparatorChar con C#
Se me ocurrió este código, pero es demasiado largo. ¿Hay una mejor manera de hacerlo?
string lastCharString = fullPath.Substring (fullPath.Length-1);
char lastChar = lastCharString[0];
if (lastChar == Path.DirectorySeparatorChar) {
fullPath = fullPath.Substring(0, fullPath.Length-1);
}
Esto no funcionará con el separador de ruta de directorio alternativo. Debería hacer un fullPath.TrimEnd (Path.AltDirectorySeparatorChar) después de esto para no tener un error en rutas como: "c:/ruta /" –
De acuerdo, gracias. Probablemente 'TrimEnd (Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar)' en ese caso (para evitar iterar sobre la cadena dos veces). –