我正在看它,似乎它从根本上被打破了.
那么有什么好处吗?我真的应该使用这个而不仅仅是字符串吗?
我不会说Uri课程根本就被打破了.Uri类的目的是提供URI的紧凑和标准表示.Uri类封装了以规范形式返回URI所需的所有逻辑,并提供对IPV4和IPV6符号以及IRI支持的支持.
Uri类的设计不允许在创建Uri后更改它; 如果你想要那种程度的可变性,你应该使用UriBuilder.
使用Uri(或UriBuilder)对字符串的好处是,你可以获得大量的验证,以确保给定的地址格式正确,能够从绝对的地址生成相对URI,等等.基本上,你可以想到一个Uri作为一种实际的数据类型,因此使用一种提供了强大的输入级别.
这取决于你在做什么。我可以想到至少一种使用它的场景,那就是将相对 URL 转换为绝对 URL。举例来说,您从某处提取了一些 HTML,但您不一定知道该 URL 是相对的还是绝对的。您可以编写自己的解析逻辑,也可以使用 Uri 类,例如:
Uri link = new Uri(new Uri(webSiteAddress), linkPulledFromSite);
string absoluteUrl = link.AbsoluteUri;
Run Code Online (Sandbox Code Playgroud)
然后您就可以轻松获得绝对 URL,而无需担心。这一切都取决于你在做什么:-)
UriBuilder 用于突变。HttpUtility 也值得了解(例如用于查询字符串解析)。
http://msdn.microsoft.com/en-us/library/system.uribuilder.aspx
http://msdn.microsoft.com/en-us/library/system.web.httputility.parsequerystring.aspx
| 归档时间: |
|
| 查看次数: |
1727 次 |
| 最近记录: |