优化IEnumerable <string>的迭代

时间:2019-02-17 16:47:22

标签: c# optimization

我有一个名为“ MergeString”的方法,该方法采用IEnumerable字符串列表的参数。该方法的工作是遍历列表并将列表合并为一个大字符串,然后将其返回。

是否可以像我已经使用foreach循环一样快地完成此操作?

以下代码是如何使用foreach循环进行迭代的简单实现。

    public static string MergeStrings(IEnumerable<string> strs)
    {

        var toReturn = "";

        foreach (var str in strs)
        {
            toReturn += str;
        }

        return toReturn;
    }

下面的代码是运行代码的主要方法。

    static void Main(string[] args)
    {
        Console.WriteLine("Filling array: ");

        var strs = Enumerable.Range(0, 40000).Select(s => s.ToString());


        var before = DateTime.Now;

        var output = StringHelpers.MergeStrings(strs);  

        var after = DateTime.Now;

        Console.WriteLine($"Length: {output.Length}");
        Console.WriteLine("Elapsed time: " + (after - before).TotalMilliseconds);

        Console.ReadLine();
    }

0 个答案:

没有答案