gpt4 book ai didi

c# - 在 c# 前面快速插入字符串

转载 作者:太空狗 更新时间:2023-10-30 00:40:04 24 4
gpt4 key购买 nike

我需要在开头插入字符串。现在我使用 StringBuilder.Insert(0, stringToInsert) 在前面插入,但这会花费很多时间(80,000 个字符串大约需要 2 分钟)。

append() 方法运行得更快(80,000 个字符串需要 30 秒),但这不是我需要的顺序。如何反转字符串的顺序(而不是字符串本身)并减少插入时间?

最佳答案

是的,反转可枚举的速度

例如:

var numStrings = 80000;
var strings = new List<String>();
for(var i = 0; i < numStrings; i++)
{
strings.Add(Guid.NewGuid().ToString());
}

var sw = new Stopwatch();
sw.Start();
var sb = new StringBuilder();
foreach(var str in Enumerable.Reverse(strings))
sb.Append(str);

sw.Stop();
sw.ElapsedMilliseconds.Dump(); // 13 milliseconds
sb.Dump();

sw = new Stopwatch();
sw.Start();
sb = new StringBuilder();
foreach(var str in strings)
sb.Insert(0, str);

sw.Stop();
sw.ElapsedMilliseconds.Dump(); // 42063 milliseconds
sb.Dump();

关于c# - 在 c# 前面快速插入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31285309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com