为什么拆分(新的字符['\\'])不能像我想的那样工作

Mic*_*Mao 1 c#

不知道为什么情况2不能Splitstrab

string str = @"a\b";

var result = str.Split('\\'); // work (case 1)

//var result = str.Split(new char['\\']); not work as what I want and will print a\b (case 2)

foreach (var r in result)
    Console.WriteLine(r);
Run Code Online (Sandbox Code Playgroud)

Zei*_*kki 7

new char['\\']是一个大小为92的字符数组.这是由于隐式转换charint:

int number = '\\'; // number is 92
char[] array = new char['\\']; // char array of size 92 with default values
Run Code Online (Sandbox Code Playgroud)

这就好像你写道:

var result = str.Split(new char[92]);
Run Code Online (Sandbox Code Playgroud)

单个字符数组的编写方式如下:

var result = str.Split(new char[] { '\\' });
Run Code Online (Sandbox Code Playgroud)