Я ищу канонический способ изменения схемы данного System.Uri экземпляра с System.UriBuilder без дрянной струнных манипуляций и магических констант. Скажем, у меня
var uri = new Uri("http://localhost/hello")
и мне нужно изменить его на https. Моя проблема ограничена UriBuilder ctors и Uri.Port по умолчанию до 80 (следует ли изменить ее на 443? Hardcoding?). Код должен уважать все свойства Uri, такие как возможные базовые учетные данные, строка запроса и т.д.