35

Often I want to change just one part of a URI and get a new URI object back.

In my current dilemma, I want to append .nyud.net, to use the CoralCDN.

I have a fully qualified URI fullUri. How can I, in effect, do this:

fullUri.Host = fullUri.Host + ".nyud.net";

This needs to work for almost any URL, and the PORT of the request needs to be maintained.

Any help would be much appreciated.

John Gietzen
  • 48,783
  • 32
  • 145
  • 190

1 Answers1

73

You can use an UriBuilder to modify individual parts of an Uri:

Uri uri = new Uri("http://stackoverflow.com/questions/2163191/");

UriBuilder builder = new UriBuilder(uri);
builder.Host += ".nyud.net";

Uri result = builder.Uri;
// result is "http://stackoverflow.com.nyud.net/questions/2163191/"
dtb
  • 213,145
  • 36
  • 401
  • 431