检查字符串是否为空或C#中的所有空格

Cod*_*ody 33 c# string whitespace

如何轻松检查字符串是否为空白或是否有不确定的空格数量?

Mer*_*ham 63

如果您有.NET 4,请使用以下string.IsNullOrWhiteSpace方法:

if(string.IsNullOrWhiteSpace(myStringValue))
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

如果你没有.NET 4,并且可以修剪你的字符串,你可以先修剪它,然后检查它是否为空.

否则,你可以考虑自己实现它:

.Net 3.5使用代码约定实现String.IsNullOrWhitespace

  • 这个答案是不正确的,因为如果字符串为null,它将返回true. (9认同)
  • @sylverfyre:不.他们是两种不同的方法,做不同的事情.请参阅:[`IsNullOrEmpty`](http://msdn.microsoft.com/en-us/library/system.string.isnullorempty.aspx)vs [`IsNullOrWhiteSpace`](http://msdn.microsoft.com/en -us /库/ system.string.isnullorwhitespace.aspx) (5认同)
  • @Simon:如果这个差异很重要的人无法从方法的名称中找出答案,那么我可能无法帮助他们 (3认同)
  • [完成](/sf/answers/3510122381/)。;^D OP 可能想要您提供的内容(我们可能永远不知道...),但从字面上看,您的答案包含 `null`、`\t`、`\r` 和 `\n`,它们不是不是空格。/shrug 虽然这基本上是在欺骗 Shimmy 的,但增加了测试空值的能力,这是扩展方法无法做到的。 (2认同)

Shi*_*mmy 32

如果您已经知道该字符串不为null,并且您只是想确保它不是空字符串,请使用以下命令:

public static bool IsEmptyOrWhiteSpace(this string value) =>
  value.All(char.IsWhiteSpace);
Run Code Online (Sandbox Code Playgroud)

  • 如果需要检查null并拒绝它,请使用null-conditional调用和null-coalescing:`value?.All(char.IsWhiteSpace)?? false` - 或者你可以使用更少花哨的短路评估:`value!= null && value.All(char.IsWhiteSpace)` (4认同)