结合了String.IsNullOrEmpty和String.IsNullOrWhiteSpace的.NET内置函数

时间:2011-04-15 16:25:58

标签: .net string isnullorempty

.NET中是否有内置函数,它结合了String.IsNullOrEmpty和String.IsNullorWhiteSpace?

我可以轻松编写自己的,但我的问题是为什么没有String.IsNullOrEmptyOrWhiteSpace函数?

String.IsNullOrEmpty首先修剪字符串吗?也许更好的问题是,String.Empty是否有资格作为空格?

4 个答案:

答案 0 :(得分:13)

  

为什么没有String.IsNullOrEmptyOrWhiteSpace

该功能称为string.IsNullOrWhiteSpace

  

指示指定的字符串是空,空还是仅包含空格字符。

这不应该是显而易见的吗?

答案 1 :(得分:0)

是的,String.IsNullOrWhiteSpace方法。

它检查字符串是否为空,空或仅包含空格字符,因此它包含String.IsNullOrEmpty方法的作用。

答案 2 :(得分:0)

String.IsNullOrWhiteSpace会检查null,Empty或WhiteSpace。

这些方法在进行测试之前会有效地修剪字符串,因此“”将返回true。

答案 3 :(得分:0)

这是使用dotPeek的反编译方法。

[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
    public static bool IsNullOrEmpty(string value)
    {
      if (value != null)
        return value.Length == 0;
      else
        return true;
    }

    /// <summary>
    /// Indicates whether a specified string is null, empty, or consists only of white-space characters.
    /// </summary>
    /// 
    /// <returns>
    /// true if the <paramref name="value"/> parameter is null or <see cref="F:System.String.Empty"/>, or if <paramref name="value"/> consists exclusively of white-space characters.
    /// </returns>
    /// <param name="value">The string to test.</param>
    public static bool IsNullOrWhiteSpace(string value)
    {
      if (value == null)
        return true;
      for (int index = 0; index < value.Length; ++index)
      {
        if (!char.IsWhiteSpace(value[index]))
          return false;
      }
      return true;
    }