Если вам буквально нужно знать, является ли строка пустой или заполнена неопределенным количеством пробелов, используйте LINQ, как подсказывает @Sonia_yt, но используйте All()
, чтобы обеспечить эффективное короткое замыкание, как только вынашёл не пробел.
(Это то же самое, что и у Шимми, но отвечает на вопрос ОП, записанный только для * проверка пробелов, а не пробелов - \t
, \n
, \r
, и т. Д. )
/// <summary>
/// Ensure that the string is either the empty string `""` or contains
/// *ONLY SPACES* without any other character OR whitespace type.
/// </summary>
/// <param name="str">The string to check.</param>
/// <returns>`true` if string is empty or only made up of spaces. Otherwise `false`.</returns>
public static bool IsEmptyOrAllSpaces(this string str)
{
return null != str && str.All(c => c.Equals(' '));
}
И для проверки его в консольном приложении ...
Console.WriteLine(" ".IsEmptyOrAllSpaces()); // true
Console.WriteLine("".IsEmptyOrAllSpaces()); // true
Console.WriteLine(" BOO ".IsEmptyOrAllSpaces()); // false
string testMe = null;
Console.WriteLine(testMe.IsEmptyOrAllSpaces()); // false