Check if string is empty or all spaces in C#

前端 未结 5 841
说谎
说谎 2020-12-09 14:32

How to easily check if a string is blank or full of an undetermined amount of spaces, or not?

5条回答
  •  遥遥无期
    2020-12-09 15:22

    If you literally need to know if the "string is blank or full of an undetermined amount of spaces", use LINQ as @Sonia_yt suggests, but use All() to ensure that you efficiently short-circuit out as soon as you've found a non-space.

    (This is give or take the same as Shimmy's, but answers the OP's question as written to only check for spaces, not any and all whitespace -- \t, \n, \r, etc.)

    /// 
    /// Ensure that the string is either the empty string `""` or contains
    /// *ONLY SPACES* without any other character OR whitespace type.
    /// 
    /// The string to check.
    /// `true` if string is empty or only made up of spaces. Otherwise `false`.
    public static bool IsEmptyOrAllSpaces(this string str)
    {
        return null != str && str.All(c => c.Equals(' '));
    }
    

    And to test it in a console app...

    Console.WriteLine("    ".IsEmptyOrAllSpaces());      // true
    Console.WriteLine("".IsEmptyOrAllSpaces());          // true
    Console.WriteLine("  BOO  ".IsEmptyOrAllSpaces());   // false
    
    string testMe = null;
    Console.WriteLine(testMe.IsEmptyOrAllSpaces());      // false
    

提交回复
热议问题