字符串拆分不会拆分[0]。属性由点组成

时间:2014-04-04 22:20:47

标签: c# string split

string[] array = indexAndProperty.Split(new char['.']); // [0].PreCondition

为什么数组只有一个字符串为"[0].PreCondition"的元素?

我希望它能用点分割字符串,得到2个元素"[0]""PreCondition"

2 个答案:

答案 0 :(得分:8)

new char['.']不会创建包含一个字符'.'的数组。相反,'.'被强制转换为int,而等效于'.'的整数为46,因此它实际上会创建一个包含46个'\0'副本的数组。

试试这个:

string[] array = indexAndProperty.Split(new char[] { '.' });

或者更好,因为Splitseparator参数是params数组,您可以这样做:

string[] array = indexAndProperty.Split('.');

答案 1 :(得分:3)

new char[x]创建一个 x char的数组。

您想要创建包含char的单个'.'的数组:

new char[] { '.' }