c# - 分段数据最快的方法是什么

标签 c#

我不确定这叫什么,所以我会举个例子来解释。我有一个数字数组

76425
234786234
56
4356
564356
456
94
900
725

现在我想加入这些数据并创建一个如下所示的新数组

76425,234786234,56,4356
564356,456,94,900
725

这是一个包含 3 个项目的字符串数组。每行有 4 个项目。如您所见,最后一行只有一个项目。那没问题。这是我为此编写的代码:

 numberOfColumns = numberOfColumns > lineCount ? lineCount : numberOfColumns;
 int newLineCount = Convert.ToInt32(Math.Ceiling((Convert.ToDouble(lineCount))/numberOfColumns));
 StringBuilder sb = new StringBuilder();

 for (int i = 0; i < newLineCount; i++)
 {
      var page = lines.Skip(numberOfColumns * i).Take(numberOfColumns).Select(xx => xx.Trim());
      sb.AppendLine(string.Join(",",page));
 }

这段代码工作得很好。但速度非常慢。您有什么想法可以让它更快吗?

最佳答案

您正在寻找这样的东西吗?

StringBuilder sb = new StringBuilder();
for (int i = 0; i < lines.Count; i++)
{
    sb.Append(lines[i]);
    if ((i % 4) == 3)
        sb.AppendLine();
    else
        sb.Append(',');
}

关于c# - 分段数据最快的方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13336656/

相关文章:

c# - 我可以在单线程 C# 控制台应用程序中安全地使用 async void 异步处理队列中的多个项目吗?

c# - 如何在不同类型的集合之间进行匹配?

c# - 如何使用日期(日期时间格式)创建图表工具提示

c# - 除了我自己的客户端代码之外,如何防止访问 URL?

c# - 依赖属性更改回调 - 多次触发

c# - 如何使用 LINQ 制作泛型函数?

c# - Richtextbox 将行号转换为滚动条位置

c# - Javascript - jquery ajax 发布错误让我发疯

c# - IsNullOrEmpty 错误是否已在 .NET 3.0 或更高版本中修复?

c# - 如何使用 ADO.NET Entity Framework 测试存储库模式?