我想解析字符串文本行,让我们说单词被','分开。 我读了分裂方法在字符串行上运行两次,因此拆分了一些字符串,所以我决定自己拆分并循环字符串行,然后用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数组。 那么哪种方式效率最高?
答案 0 :(得分:0)
如果您需要分隔符之间的所有元素,那么Split()
就可以了。
如果您只需要第二个元素,并且您不想为第一个和第三个元素分配内存,则可以使用IndexOf
查找分隔符,然后使用{提取字符串{1}}。
有关效果的更多提示can be found here:
效果注意事项
Split方法为返回的数组对象分配内存,为每个数组元素分配String对象。如果您的应用程序需要最佳性能,或者在应用程序中管理内存分配至关重要,请考虑使用IndexOf或IndexOfAny方法。您还可以选择使用Compare方法在字符串中查找子字符串。
要将字符串拆分为分隔符,请使用IndexOf或IndexOfAny方法在字符串中查找分隔符。要在分隔符字符串处拆分字符串,请使用IndexOf或IndexOfAny方法查找分隔符字符串的第一个字符。然后使用Compare方法确定第一个字符后面的字符是否等于分隔符字符串的剩余字符。
此外,如果使用相同的字符集在多个Split方法调用中拆分字符串,请考虑创建单个数组并在每个方法调用中引用它。这显着减少了每个方法调用的额外开销。