是否有一种简单的方法来测试相对uri是否在给定绝对uri中存在?
例如,这将返回true:
绝对uri:http://www.google.com/path1/path2/blah.html
RelativeUri:./path2/blah.html
我能想到的唯一方法是直接通过字符串操作来实现,但是想知道是否存在使用Uri类直接实现的方法。
答案 0 :(得分:0)
在查看文档之后,我不这么认为,即使URI.Compare()方法也需要开销才能找到正确的索引,从而使其成本比String.Contains()更高: https://docs.microsoft.com/en-us/dotnet/api/system.uri.compare?view=netframework-4.7.2
看起来像
string relURI = @"./path2/blah.html";
bool containsURI = myUri.AbsolutePath.Contains(relURI);
可能是最好的选择(如您所暗示的那样)。