连接字符VS分割方法

时间:2016-12-12 21:20:56

标签: c#

我想解析字符串文本行,让我们说单词被','分开。 我读了分裂方法在字符串行上运行两次,因此拆分了一些字符串,所以我决定自己拆分并循环字符串行,然后用char连接char。 一次迭代的示例:

string[] terms = new string[4];
string term = "";
string line = "home,work,studies,chill";
while(line[index] != ',')
    term = term + line[index];
    index++;
terms[index] = term;

另一方面,char连接char将每次创建一个chars数组。 那么哪种方式效率最高?

1 个答案:

答案 0 :(得分:0)

如果您需要分隔符之间的所有元素,那么Split()就可以了。

如果您只需要第二个元素,并且您不想为第一个和第三个元素分配内存,则可以使用IndexOf查找分隔符,然后使用{提取字符串{1}}。

有关效果的更多提示can be found here

  

效果注意事项

     

Split方法为返回的数组对象分配内存,为每个数组元素分配String对象。如果您的应用程序需要最佳性能,或者在应用程序中管理内存分配至关重要,请考虑使用IndexOf或IndexOfAny方法。您还可以选择使用Compare方法在字符串中查找子字符串。

     

要将字符串拆分为分隔符,请使用IndexOf或IndexOfAny方法在字符串中查找分隔符。要在分隔符字符串处拆分字符串,请使用IndexOf或IndexOfAny方法查找分隔符字符串的第一个字符。然后使用Compare方法确定第一个字符后面的字符是否等于分隔符字符串的剩余字符。

     

此外,如果使用相同的字符集在多个Split方法调用中拆分字符串,请考虑创建单个数组并在每个方法调用中引用它。这显着减少了每个方法调用的额外开销。