null和空字符串在.net中的区别

本文关键字:区别 net 字符串 null | 更新日期: 2023-09-27 18:14:41

试图找出这个问题,但在任何地方都找不到答案。如果我有一个字符串,我在空格中分割它,像:

string[] arr_str = sentence.split(' ');

我将得到一个字符串数组。现在,如果我在句子中输入双空格,我将得到带有空字符串(")的arr_str单元格。

我的问题是为什么?为什么不用空格呢?

当我做检查的arr_str为什么我需要检查空字符串,而不是null或空格?

为什么只有空字符串有效?

null和空字符串在.net中的区别

对一个字符执行分割,不包括该字符。因此,你得到的子字符串位于分割字符之间,在这种情况下,它们只是空字符串。

但是,如果您愿意,可以通过将适当的enum传递给该方法来过滤掉空字符串。

你正在分割一个字符串,这将产生字符串。

如果你分割一个双空格,两个空格都被删除,但空字符串保留,这就是你的结果。

如果输入双空格,则按空格分割得到两个连续空格之间的字符串,该字符串为空字符串。如space space = space empty_string space

空字符串是没有值的字符串,空字符串是没有引用的字符串(尚未初始化)。空字符串不占用内存空间,但空字符串确实会分配内存空间。