Ken*_*son 1 c# performance loops
我试图找出一个原因,为什么这个循环是如此缓慢,但我还没有得到一个很好的答案.以下循环需要一分钟才能执行:
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;
Run Code Online (Sandbox Code Playgroud)
JSON变量是一个List,包含大约1150个词典.每个字典包含9个键值对.有什么想法吗?
Rob*_*ine 12
弹出的一个明显问题是你的字符串连接.
每次附加到字符串时,实际上都附加到字符串的副本(因为字符串各自是不可变的).这可能是非常昂贵的.
您应该更喜欢StringBuilder,或者,为了生成这样的HTML,您可能想要研究HtmlTextWriter - 这将有助于处理HTML的"格式良好"等问题.
| 归档时间: |
|
| 查看次数: |
320 次 |
| 最近记录: |