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

本文关键字:不能 工作 新字符 字符 拆分 为什么 | 更新日期: 2023-09-27 17:59:13

不知道为什么情况2不能Split strab

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);

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

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

int number = ''''; // number is 92
char[] array = new char['''']; // char array of size 92 with default values

这就像你写的:

var result = str.Split(new char[92]);

单个字符的数组是这样写的:

var result = str.Split(new char[] { '''' });
这是因为new char['''']创建了一个长度为(int)''''的字符数组。如果你想要一个给定值的数组,如果你认为它足够可读,你可以使用new char[] { '''' }甚至new[] { '''' }

这样做:

string str = @"a'b";
String[] result = str.Split(''''); // work (case 1)

new char[]是一个数组。使用

var result = str.Split(new char[] { '''' });