miałem spojrzeć na Path.Combine
i zauważyłem, że ma cztery przeciążeń:Kilka przeciążenia dla metody z "params" słowo kluczowe
string
,string
string
,string
,string
string
,string
,string
,string
params string[]
Jak przydatne są trzy pierwsze przeciążenia?
Sposób, w jaki go widzę, czwarty przeciążenie sprawia, że pozostali są zupełnie bez sensu. Spojrzałem na źródło i widziałem, że czwarta implementacja przeciążenia jest trochę inna, ale nawet w tym przypadku spodziewałbym się mieć tylko jedno przeciążenie, które decyduje, której implementacji użyć na podstawie długości tablicy.
Cóż, 'Combine (String, String)' ma na celu kompatybilność wsteczną (wersje sprzed 4 nie miały żadnych innych przeciążeń). – Oded
Jak rozumiem, przeciążenia inne niż params pozwalają pominąć narzut tworzenia tablicy parametrów i iteratora argumentów. Nie pamiętam, gdzie to czytałem, więc raczej komentuję niż odpowiadam. – phoog
@phoog - to ma sens. Większość zastosowań będzie wymagać połączenia do 4 sekcji ścieżek. – Oded