Например, 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
версия позволяет вам это делать.params string[]
является удобочитаемость.params
перегрузку только для крайних случаев. Примером являетсяStringBuilder.AppendFormat()
семейство перегрузок ».Синтаксический сахар.
При манипулировании путями к файлам очень распространено иметь небольшое количество фиксированных значений. В этих случаях удобнее использовать их напрямую, чем упаковывать их в массив.
источник
params
.