私はなぜこのループがとても遅いのかの理由を調べようとしましたが、まだ良い答えは得られていません。次のループは、実行に1分以上かかります。なぜこのループは遅いのですか?
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変数はListであり、約1150の辞書が含まれています。各辞書には、9つのキー値ペアが含まれています。何かご意見は?
あなたはStringBuilderのに役立ちますかどうかを試したことがありますか? – harold
文字列連結の代わりにStringBuilderを使用することをお勧めします。それはすべてのパフォーマンスの問題を解決することはできませんが、それは助けることができます – Jetti
また、すべての反復でif(firstrun)が実行されていますが、最初のものでのみ使用されます.. – gbianchi