Beispielsweise weist die System.IO.Path.Combine
Methode in .NET die folgenden Überladungen auf:
Combine(params String[])
Combine(String, String)
Combine(String, String, String)
Combine(String, String, String, String)
Was ist der Sinn der letzten drei?
Die erste würde sie alle abdecken, als ob Sie genau hinschauen, verwendet es das params
Schlüsselwort. Das Argument der Abwärtskompatibilität würde nur die Combine(String, String)
Variante abdecken , da es die einzige Version bis .NET 4 war.
Combine
mit null oder einem Pfadsegment nicht einmal sinnvoll ist, dieparams
Version ermöglicht dies jedoch.params string[]
ist die Lesbarkeit.params
Überladung nur für die Edge-Fälle zu verwenden. Ein Beispiel ist dieStringBuilder.AppendFormat()
Familie der Überladungen. "Syntethischer Zucker.
Bei der Manipulation von Dateipfaden ist es sehr häufig, dass nur wenige feste Werte vorhanden sind. In diesen Fällen ist es bequemer, sie direkt zu verwenden, als sie in ein Array packen zu müssen.
quelle
params
.