В .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
(а передача массива без поддержки параметров неудобна)". Тем не менее, разум улья в стеке, похоже, сильно не согласен. Поэтому, как компромисс, я не принимаю никакого ответа.