Par exemple, la System.IO.Path.Combinemé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 paramsmot - 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.
Combineavec zéro ou un segment de chemin n’a même aucun sens, mais laparamsversion vous permet de le faire.