Por ejemplo, el System.IO.Path.Combine
método en .NET tiene las siguientes sobrecargas:
Combine(params String[])
Combine(String, String)
Combine(String, String, String)
Combine(String, String, String, String)
¿Cuál es el punto de los últimos tres?
El primero los cubriría a todos, como si miraras de cerca, usa la params
palabra clave. El argumento de la compatibilidad con versiones anteriores solo cubriría la Combine(String, String)
variante, ya que era la única versión hasta .NET 4.
Combine
con cero o un segmento de ruta ni siquiera tiene sentido, sin embargo, laparams
versión le permite hacer esto.params string[]
es la legibilidad.params
sobrecarga solo para los casos extremos. Un ejemplo es laStringBuilder.AppendFormat()
familia de sobrecargas ".Azúcar sintáctica.
Al manipular rutas de archivos, es extremadamente común tener una pequeña cantidad de valores fijos. En estos casos, es más conveniente usarlos directamente en lugar de tener que empaquetarlos en una matriz.
fuente
params
.