.net - 有什么理由要使用System.Uri吗?

标签 .net

我正在寻找它,似乎它已经从根本上被破坏了。

  • 只有5个实例方法没有被标记为过时。
  • 似乎没有任何内置方法
    解析查询字符串变量。
  • 没有任何方法可以对Uri进行突变,例如追加一个新的查询变量。
  • HttpUtility适用于字符串,而不适用于URI

  • 那么有什么好处吗?我真的应该使用它而不是字符串吗?

    最佳答案

    我不会说Uri类(class)从根本上被打破了。 Uri类的目的是提供URI的紧凑和标准表示。 Uri类封装了以规范形式返回URI并提供对IPV4和IPV6表示法的支持以及IRI支持所需的所有逻辑。

    Uri类的设计不允许在创建Uri后就对其进行更改。如果您想要该级别的可变性,则应改用UriBuilder。

    在字符串上使用Uri(或UriBuilder)的好处是,您可以进行很多内置的验证,以确保给定的地址格式正确,可以从绝对地址中创建相对URI,等等。本质上,您可以想到一个Uri是一种实际的数据类型,因此使用Uri可以提供一定程度的强类型化。

    关于.net - 有什么理由要使用System.Uri吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/215799/

    相关文章:

    .net - 设置个人 .NET Web 开发环境的最简单方法是什么?

    .net - 处理 Entity Framework OptimisticConcurrencyException

    c# - 寻求使用 C# 读取 .yaml 文件的指导

    c# - 如何在 Action 中传递参数?

    .net - 基础设施许可证文件将自身添加到项目中?

    c# - .NET:CLR 是否自动为堆分配对象引入基本线程安全(锁)?

    c# - 为使用 SSH.NET SshClient.RunCommand 执行的命令 (cli) 提供输入/子命令

    .net - 如何在运行时将命令行参数传递给 Docker 镜像中的 dotnet dll?

    c# - 如何知道表是否存在于 OleDb 连接的 Access 数据库中

    c# - 在 LINQ 查询中分组