<t>There is a Todd Menier's comment above that Flurl includes a Url.Combine.<br/>
<br/>
More details:<br/>
<br/>
Url.Combine is basically a Path.Combine for URLs, ensuring one<br/>
and only one separator character between parts:<br/>
<br/>
var url = Url.Combine(<br/>
"http://MyUrl.com/",<br/>
"/too/", "/many/", "/slashes/",<br/>
"too", "few?",<br/>
"x=1", "y=2"<br/>
// result: "http://www.MyUrl.com/too/many/slashes/too/few?x=1&y=2" <br/>
<br/>
```<br/>
<br/>
Get [Flurl.Http on NuGet](https://www.nuget.org/packages/Flurl.Http/):<br/>
<br/>
PM> Install-Package Flurl.Http<br/>
<br/>
Or [get the stand-alone URL builder](https://www.nuget.org/packages/Flurl/) without the HTTP features:<br/>
<br/>
PM> Install-Package Flurl</t>