gpt4 book ai didi

c# - 为什么这个循环这么慢?

转载 作者:太空宇宙 更新时间:2023-11-03 17:09:44 30 4
gpt4 key购买 nike

我试图找出这个循环如此缓慢的原因,但我还没有得到一个好的答案。以下循环需要一分钟多的时间来执行:

        string answer = "";
string headers = "";
string datarows = "";
bool firstRun = true;
foreach (Dictionary<string, string> row in JSON)
{
datarows += "<tr>";
foreach (KeyValuePair<String, String> cell in row)
{
if (firstRun) { headers += "<th>" + cell.Key + "</th>"; }
datarows += "<td>" + cell.Value + "</td>";
}
datarows += "</tr>";
firstRun = false;
}
answer += "<table><tr>" + headers + "</tr>" + datarows + "</table>";
return answer;

JSON 变量是一个列表,包含大约 1150 个词典。每个字典包含 9 个键值对。有什么想法吗?

最佳答案

出现的明显问题是您的字符串连接。

每次附加到一个字符串时,实际上是附加到该字符串的一个副本(因为每个字符串都是不可变的)。这可能会非常昂贵。

您应该更喜欢 StringBuilder ,或者,为了生成这样的 HTML,您可能需要调查 HtmlTextWriter - 这将有助于处理 HTML 的“格式良好”等问题。

关于c# - 为什么这个循环这么慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9774242/

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