Por exemplo, o System.IO.Path.Combine
método no .NET possui as seguintes sobrecargas:
Combine(params String[])
Combine(String, String)
Combine(String, String, String)
Combine(String, String, String, String)
Qual é o sentido dos três últimos?
O primeiro abordaria todos, como se você observasse atentamente, ele usa a params
palavra - chave. O argumento de compatibilidade com versões anteriores cobriria apenas a Combine(String, String)
variante, pois era a única versão até o .NET 4.
Combine
com zero ou um segmento de caminho nem faz sentido, mas aparams
versão permite que você faça isso.params string[]
é a legibilidade.params
sobrecarga apenas para os casos de borda. Um exemplo é aStringBuilder.AppendFormat()
família de sobrecargas. "Açúcar sintático.
Ao manipular caminhos de arquivo, é extremamente comum ter um pequeno número de valores fixos. Nesses casos, é mais conveniente usá-los diretamente, em vez de precisar empacotá-los em uma matriz.
fonte
params
.