【问题标题】:On the Uri object, can the original string property ever be null?在 Uri 对象上,原始字符串属性可以为空吗?
【发布时间】:2014-05-30 20:51:44
【问题描述】:

是否可以构造 Uri 对象以使其具有空原始字符串?

Uri myUri.OriginalString != null 检查是否值得?

OriginalString 的 MSDN 指出:

InvalidOperationException 是可能的,如果 此实例表示相对 URI,并且此属性仅对绝对 URI 有效。 但是我无法解决这个问题。

new Uri("~/SignIn", UriKind.Relative) 似乎适用于 OriginalString。

【问题讨论】:

  • 你能再添加几个标签或一些上下文吗?
  • 如果不确定,我通常只做检查。安全总比后悔好!

标签: c#


【解决方案1】:

来自MSDN :如果Url 字符串为null(如果它为空、格式错误等),则在构造时抛出ArgumentNullException

所以不需要检查。

【讨论】:

  • 哇,真快 :) - 见编辑,显然 InvalidOperationException 是可能的,但我不知道如何绊倒它。
  • 是的,这是可能的。但是,OriginalString 永远不会为空
【解决方案2】:

http://msdn.microsoft.com/en-us/library/vstudio/system.uri.originalstring 表示此属性包含构造此实例时指定的确切 URI;否则为空。

http://msdn.microsoft.com/en-us/library/vstudio/z6c2z492 指定 Uri 不能用空字符串构造。

因此,您无需检查 null。但是您可能需要检查 String.Empty。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 2013-10-27
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    相关资源
    最近更新 更多