使用 LINQ 高效连接字符串
连接字符串的传统方法涉及使用 StringBuilder 和循环,如给定的代码片段所示。虽然这种方法很有效,但对于大型数据集来说可能会很冗长且效率低下。 LINQ 为此任务提供了更简洁且可能更快的解决方案。
使用 LINQ 的 Aggregate 方法,我们可以按如下方式连接字符串:
string[] words = { "one", "two", "three" }; var res = words.Aggregate( "", // Start with an empty string for the empty list case (current, next) => current + ", " + next); Console.WriteLine(res);
此表达式通过组合每个元素创建一个新字符串包含逗号和空格的单词数组。与大多数其他 LINQ 操作中的延迟执行不同,聚合查询会立即执行。
此方法的另一个变体涉及在 Aggregate 方法中使用 StringBuilder 以提高内存效率:
var res = words.Aggregate( new StringBuilder(), (current, next) => current.Append(current.Length == 0? "" : ", ").Append(next)) .ToString();
此变体提供与 String.Join 类似的性能,这是有效连接字符串的另一种选择。
以上是LINQ如何提高字符串串联效率?的详细内容。更多信息请关注PHP中文网其他相关文章!