检查字符串是否包含文本 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*/ }
现在如果只包含空格的文本也必须被认为是空的,那么什么时候文本不为空?当文本不是不存在的或空格时,即 IsNullOrWhiteSpace
是 false
:
if (!string.IsNullOrWhiteSpace(s)) { /*s is not empty*/ }
我想找到一种方法来检查一个字符串是否包含文本,如果包含,它将转到下一个并继续这样做,直到找到一个空字符串或到达末尾。
问题是我找不到任何可以用来检查字符串是否包含任何文本的东西,我只能找到它是否是 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*/ }
现在如果只包含空格的文本也必须被认为是空的,那么什么时候文本不为空?当文本不是不存在的或空格时,即 IsNullOrWhiteSpace
是 false
:
if (!string.IsNullOrWhiteSpace(s)) { /*s is not empty*/ }