Вот полезный метод вы можете использовать:
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));
}
Альтернативный код-гольф версия (короче, но не совсем ясно, семантика немного отличается от Path.Combine
):
public static string CombinePaths(params string[] paths)
{
if (paths == null)
{
throw new ArgumentNullException("paths");
}
return paths.Aggregate(Path.Combine);
}
Тогда вы можете назвать это как:
string path = CombinePaths(path1, path2, path3);
Нельзя ли объявить единый массив более эффективным, объявив 4 разных переменных? Что может быть причиной перегрузки в 4 или 3 строки? –
@ Хасан: Нет, для создания массива требуется отдельный объект, который позже должен быть собран с помощью мусора и т. Д. Передача двух отдельных переменных более эффективна, чем создание нового массива, содержащего две ссылки. –
Не нужно ждать, это реализовано с 10/21/09 :) http://anonsvn.mono-project.com/viewvc?view=revision&revision=144597 –