【发布时间】:2011-08-28 08:19:38
【问题描述】:
我有一个很长的字符串,以及一个索引和值的排序字典。我应该检查字典中的元素并将值插入字符串中的指定索引。我写了以下代码,效果很好,但是很慢:
private string restoreText(string text){
StringBuilder sb = new StringBuilder(text);
foreach(KeyValuePair<int, string> pair in _tags){
sb.Insert(pair.Key, pair.Value);
}
return sb.ToString();
}
字典可能非常大,包含 500,000 个元素。 我认为使这个函数变慢的原因是 Insert() 方法。对于 100,000 个元素的字典,大约需要 5 秒。
有没有更高效的方法来写这个方法?
谢谢,
玛雅
【问题讨论】:
-
如果将
_tags添加到字典中,text中的内容是什么?
标签: c# string performance stringbuilder