怎样把一个字符串数组连接成一个新的字符串?

时间:2023-02-13 10:27:45
元素有很多,除了用for循环外,有什么好方法?

StreamReader map = new StreamReader("map.txt");
string[] abc = Regex.Split(map.ReadToEnd(), "\r\n");

这样得到的字符串数组,我想再按照原来的样子,每个元素之间都再加入一个"\r\n",最后变成一个字符串,再写回文件里。

10 个解决方案

#1


用stringbuilder的append方法效率较高 

#2


不循环好象不行.

#3


那样一样需要用到循环啊,那个文件有3万多行,如果是append,那就需要用3万多次append,速度行吗?

#4


不append,你给加起来?

觉得效率慢,自己写一个?搞笑!

#5


stringbuilder.append方法

#6


System.String.Concat(string[] abc);

[C#] 
using System;

public class ConcatTest {
    public static void Main() {

        // make an array of strings. Note that we have included spaces
        string [] s = { "hello ", "and ", "welcome ", "to ", "this ", "demo! " };

        // put all the strings together
        Console.WriteLine(string.Concat(s));

        // sort the strings, and put them together
        Array.Sort(s);
        Console.WriteLine(string.Concat(s));
    }
}

#7


Concat() 
在内部调用了 stringbuilder.append
stringbuilder效率最高,3万行一行20个字算才60万个字 ,一个汉字2byte , 8bit
也就4M内存足够放的下了,在加上其他开销和IO,如果不是需要经常转换不用去管性能的

#8


楼上的代码差不多,但是我还需要在两个字符串之间加入换行符

#9


你的文本文件里面有换行符的
直接读取这个不就得了 

#10


如果按照你的要求
就必须循环在每个元素后面加入换行符了 

#1


用stringbuilder的append方法效率较高 

#2


不循环好象不行.

#3


那样一样需要用到循环啊,那个文件有3万多行,如果是append,那就需要用3万多次append,速度行吗?

#4


不append,你给加起来?

觉得效率慢,自己写一个?搞笑!

#5


stringbuilder.append方法

#6


System.String.Concat(string[] abc);

[C#] 
using System;

public class ConcatTest {
    public static void Main() {

        // make an array of strings. Note that we have included spaces
        string [] s = { "hello ", "and ", "welcome ", "to ", "this ", "demo! " };

        // put all the strings together
        Console.WriteLine(string.Concat(s));

        // sort the strings, and put them together
        Array.Sort(s);
        Console.WriteLine(string.Concat(s));
    }
}

#7


Concat() 
在内部调用了 stringbuilder.append
stringbuilder效率最高,3万行一行20个字算才60万个字 ,一个汉字2byte , 8bit
也就4M内存足够放的下了,在加上其他开销和IO,如果不是需要经常转换不用去管性能的

#8


楼上的代码差不多,但是我还需要在两个字符串之间加入换行符

#9


你的文本文件里面有换行符的
直接读取这个不就得了 

#10


如果按照你的要求
就必须循环在每个元素后面加入换行符了