c# - 优化 IEnumerable 的迭代
问题描述
我有一个名为“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();
}
解决方案
推荐阅读
- angular2-directives - 如何在 alt+pagedown ADA 上增加日历年
- reactjs - 无法在我的状态数据中渲染出数组
- c - 将给定矩阵旋转 K 次
- php - 无法使用经过哈希处理的密码登录
- flutter - 在 macOS 中构建 Flutter 项目
- r - 使用 cairo 导出绘图 png
- macos - Bowtie2 错误:“不存在或不是 Bowtie 2 索引”
- php - 如何让工作人员在 PHP - Heroku 中持续运行?
- python-3.x - 如何在 apache2 上运行 FastAPI?
- android - 显示警报对话框的 Activity 方法的 Android Mockito 测试