He aquí una método de utilidad que puede usar:
public static string CombinePaths(string path1, params string[] paths)
{
if (path1 == null)
{
throw new ArgumentNullException("path1");
}
if (paths == null)
{
throw new ArgumentNullException("paths");
}
return paths.Aggregate(path1, (acc, p) => Path.Combine(acc, p));
}
versión alternativa de código de golf (más corto, pero no es tan clara, la semántica es un poco diferente de Path.Combine
):
public static string CombinePaths(params string[] paths)
{
if (paths == null)
{
throw new ArgumentNullException("paths");
}
return paths.Aggregate(Path.Combine);
}
A continuación, se puede llamar a esto como:
string path = CombinePaths(path1, path2, path3);
¿No debería declararse que una sola matriz es más eficiente que declarar 4 variables diferentes? ¿Cuál podría ser el motivo de la sobrecarga de 4 o 3 cuerdas? –
@Hasan: No, la creación de una matriz requiere un objeto separado que se debe recolectar después, etc. Pasar dos variables separadas es más eficiente que crear una nueva matriz que contenga dos referencias. –
No es necesario esperar, está implementado desde el 21/10/09 :) http://anonsvn.mono-project.com/viewvc?view=revision&revision=144597 –