检查字符串是否包含文本 C#

Check if string does contain text C#

我想找到一种方法来检查一个字符串是否包含文本,如果包含,它将转到下一个并继续这样做,直到找到一个空字符串或到达末尾。

问题是我找不到任何可以用来检查字符串是否包含任何文本的东西,我只能找到它是否是 IsNullOrWhiteSpace 或者它是否包含特定文本。

字符串什么时候包含文本?那么当字符串存在并且它不包含空文本时。字符串何时包含空文本?当字符串长度为0.

所以,回答你的问题,文本在存在时不为空并且 s.Length != 0:

if (s != null && s.Length > 0) { /*s is not empty*/ }

或更好

if (s?.Length > 0) { /*s is not empty*/ }

或者如果您希望字符串在不存在或不为空时包含文本:

if (!string.IsNullOrEmpty(s)) { /*s is not empty*/ }

现在如果只包含空格的文本也必须被认为是空的,那么什么时候文本不为空?当文本不是不存在的或空格时,即 IsNullOrWhiteSpacefalse:

if (!string.IsNullOrWhiteSpace(s)) { /*s is not empty*/ }