这个string.Split()行的意图是什么?

时间:2014-12-14 18:39:40

标签: c# string

C#中该行的等价物是什么?

// In Java:
string[] split = val.Split("\u0000");

我知道:

  1. Java split function采用正则表达式。
  2. “\ u0000”是Java中的空字符。
  3. 在C#中,当您将null传递给string.Split时,它具有特殊含义。使用"my example string".Split(null)表示拆分任何空格字符。
  4. 那么,上面的行是否在空字符上拆分字符串,还是在任何空白字符上拆分字符串的简写?如果是前者,我将如何构造C#中的拆分以拆分空字符?

1 个答案:

答案 0 :(得分:1)

好吧,来自@markspace和this answer的评论持有密钥:

string[] split = val.Split(new char[] { '\0' }, StringSplitOptions.RemoveEmptyEntries);

在C#中,split函数采用char数组。 null char被指定为' \ 0'。

此外,在Java中,默认行为是删除空条目,因此需要额外的StringSplitOptions.RemoveEmptyEntries参数。