C#等同URI

Mar*_*ark 4 c# c#-4.0

确定这两个相似的Uris实际上是一样的标准方法是什么?

var a = new Uri("http://sample.com/sample/");
var b = new Uri("http://sample.com/sample");
Console.WriteLine(a.Equals(b));

// False
Run Code Online (Sandbox Code Playgroud)

确定a == b的最佳方法是什么?我可以比较Uri对象的子属性,如Host,LocalPath等,但我想知道是否有更好的方法.

编辑:谢谢大家.我基本上只需让用户强制执行是否相同.

Ode*_*ded 7

乌里类覆盖Equals,并实现了==运营商,以确定平等.

测试两个Uri实例是否相同的方法是:

if(a == b)
Run Code Online (Sandbox Code Playgroud)

在你的情况下,它们并不等同.末尾的目录终止符a具有特定含义,而b 可能是目录或文件.