Par exemple, la System.IO.Path.Combine
méthode dans .NET a les surcharges suivantes:
Combine(params String[])
Combine(String, String)
Combine(String, String, String)
Combine(String, String, String, String)
Quel est le point des trois derniers?
Le premier couvrirait tous, comme si vous regardiez de près, il utilisait le params
mot - clé. L'argument de la compatibilité ascendante ne couvrirait que la Combine(String, String)
variante, car c'était la seule version jusqu'à ce que .NET 4.
Combine
avec zéro ou un segment de chemin n’a même aucun sens, mais laparams
version vous permet de le faire.params string[]
est la lisibilité.params
surcharge uniquement pour les cas extrêmes . Un exemple est laStringBuilder.AppendFormat()
famille des surcharges. "Sucre syntaxique.
Lors de la manipulation de chemins de fichiers, il est extrêmement courant d'avoir un petit nombre de valeurs fixes. Dans ces cas, il est plus pratique de les utiliser directement plutôt que de les empaqueter dans un tableau.
la source
params
.