我想从相对 URI 中提取查询字符串和片段,即没有任何方案或主机信息的 URI。
有没有比将其转换为带有假主机名的绝对 URI 更优雅的方法呢?
var relativeUri = "/dir1/dir2/file?a=b&c=d#fragment";
var uri = new Uri(new Uri("http://example.com"), relativeUri);
var path = Uri.UnescapeDataString(String.Concat(uri.Segments));
var query = uri.Query;
var fragment = uri.Fragment;
// path = "/dir1/dir2/file", query = "?a=b&c=d", fragment = "#fragment"