Наприклад, System.IO.Path.Combine
метод у .NET має такі перевантаження:
Combine(params String[])
Combine(String, String)
Combine(String, String, String)
Combine(String, String, String, String)
У чому сенс останніх трьох?
Перший охоплював би їх усіх, так як якщо ви уважно придивитесь, він використовує params
ключове слово. Аргумент зворотної сумісності охоплював би лише Combine(String, String)
варіант, оскільки він був єдиною версією до .NET 4.
Combine
з нульовим або одним сегментом шляху навіть не має сенсу, алеparams
версія дозволяє це зробити.