C# 确定不带文件名的相对URL的路径

C# 确定不带文件名的相对URL的路径,c#,uri,C#,Uri,我使用这个简单的代码从我从网页解析的链接中检索绝对路径。 CurrentAddress是网页地址,testingAddress是我找到的链接 String uri = new Uri(new Uri(currentAddress), new Uri(testingAddress)).AbsoluteUri; 这几乎总是有效的,它可以识别testingAddress是否与页面相关 我发现没有指定文件名的相对链接有问题,例如“/portal/combo/?v=1” 在这种情况下,例外情况 “无法确

我使用这个简单的代码从我从网页解析的链接中检索绝对路径。
CurrentAddress
是网页地址,
testingAddress
是我找到的链接

String uri = new Uri(new Uri(currentAddress), new Uri(testingAddress)).AbsoluteUri;
这几乎总是有效的,它可以识别
testingAddress
是否与页面相关

我发现没有指定文件名的相对链接有问题,例如
“/portal/combo/?v=1”

在这种情况下,例外情况

“无法确定URI的格式”

被抚养成人

如果我指定
testingAddress
是相对的,那么它就可以工作,但在那一点上,我失去了代码的功能,该代码原本是用来理解如何单独组合路径的,我必须在加入路径之前手动检查路径


有没有办法让这项工作正常进行,或者我必须接受它并添加控件来准备
测试地址
字符串?

使用接受
字符串的重载作为第二个参数(从):

Uri(Uri,字符串) 基于指定的基本Uri和相对Uri字符串初始化Uri类的新实例

public Uri (Uri baseUri, string? relativeUri);
例子
使用接受
字符串?
的重载作为第二个参数(从):

Uri(Uri,字符串) 基于指定的基本Uri和相对Uri字符串初始化Uri类的新实例

public Uri (Uri baseUri, string? relativeUri);
例子
引发错误的值示例在问题中:
“/portal/combo/?v=1”
Uri.TryCreate
将绕过该错误,但这不是我关心的问题。引发错误的值示例是:
“/portal/combo/?v=1”
Uri.TryCreate
将绕过该错误,但这不是我的问题。这似乎工作得很好。通过不将testingAddress解析为URI,而是将其保留为字符串,就可以解决整个问题。我从来没有猜到。这似乎很有效。通过不将testingAddress解析为URI,而是将其保留为字符串,就可以解决整个问题。我永远也猜不到。