I've had a look at Path.Combine and noticed it has four overloads:
string,stringstring,string,stringstring,string,string,stringparams string[]
How are the first three overloads useful?
The way I see it, the fourth overload makes the others pretty pointless. I looked at the source and I did see that the fourth overload's implementation is a bit different, but even in this case I would expect to have just the one params overload which decides which implementation to use based on the array's length.
Combine(String, String)is there for backwards compatibility (versions before 4 did not have any other overloads).