В .NET 4, System.IO.Path имеет следующие перегрузки для метода Combine
:
public static string Combine(params string[] paths)
public static string Combine(string path1, string path2)
public static string Combine(string path1, string path2, string path3)
public static string Combine(string path1, string path2, string path3, string path4)
Первый был добавлен в .NET 4 для поддержки любого количества аргументов пути. Второй уже был в более ранних версиях, поэтому я полагаю, что он сохранен для обратной совместимости.
Но мне любопытно, какова польза от других перегрузок. Разве эти варианты использования уже не охвачены первой сигнатурой метода с params
?
edit: Теперь я считаю, что ответ таков: «потому что не все языки имеют params
support (а передавать массив без поддержки параметров неудобно) ". Однако коллективный разум stackoverflow, похоже, категорически не согласен. Поэтому в качестве компромисса я не принимаю никакого ответа.