为什么string.Split("")返回元素,即使分隔符不存在?

Ang*_*ker -1 .net c#

在下面的:

string input = "123";
char [] separators = " ".ToCharArray();
string [] elements = input.Split(separators);
Run Code Online (Sandbox Code Playgroud)

elements阵列是.长度= 1.

这是为什么?String 123不包含任何空格.

D S*_*ley 6

直接来自文档:

如果此实例不包含分隔符中的任何字符,则返回的数组由包含此实例的单个元素组成.

对于你的第二个问题:

所以没有.Length为0且元素数组为空的情况?

是的 - 如果您StringSplitOptions.RemoveEmptyEntries在字符串上使用该选项是空的或只包含分隔符:

string input = "---";
char [] separators = new [] {'-'};
string [] elements = input.Split(separators,StringSplitOptions.RemoveEmptyEntries);
Run Code Online (Sandbox Code Playgroud)