Zum Hauptinhalt springen
ai-slop/csharp-string-concat-in-loopmanuelle Behebung

String-Verkettung in einer Schleife.

`result += "..."` in einer Schleife. Strings sind unveränderlich, also allokiert jede Iteration einen neuen String und kopiert den alten: quadratischer Aufwand für eine lineare Aufgabe.

Beanstandete und saubere Form.

Jedes Beispiel zeigt genau die Codeform, nach der die Regel sucht, und dann die kleinste Version, die die Absicht bewahrt, ohne Risiken zu verstecken oder Rauschen hinzuzufügen.

csharp-string-concat-in-loop.cs
✗ Beanstandet
var csv = "";
foreach (var row in rows)
{
    csv += row.Id + "," + row.Name + "\n";
}
return csv;
Warum das anschlägt

Deterministischer Scan der Klammertiefe: verfolgt die Rümpfe von `for`, `foreach`, `while` und `do` und beanstandet darin `name += ...`-Anweisungen, die ein String-Literal enthalten.

csharp-string-concat-in-loop.cs
✓ Sauber
var csv = new StringBuilder();
foreach (var row in rows)
{
    csv.Append(row.Id).Append(',').Append(row.Name).Append('\n');
}
return csv.ToString();
Was sich geändert hat

Hänge in der Schleife an einen `StringBuilder` an und ruf danach einmal `.ToString()` auf, oder nutze `string.Join` über die Sequenz.

Agenten bauen Ausgaben so auf, wie sie sich lesen, Stück für Stück angehängt, und wechseln nicht zu einem Builder, wenn das Anhängen in eine Schleife wandert.

Wie diese Regel begründet ist.

Regel-ID

ai-slop/csharp-string-concat-in-loop

Prüfende Engine

ai-slop

Erkennungsstrategie

Deterministischer Scan der Klammertiefe: verfolgt die Rümpfe von `for`, `foreach`, `while` und `do` und beanstandet darin `name += ...`-Anweisungen, die ein String-Literal enthalten.

Legitimer Code, der NICHT beanstandet wird

`+=`-Zeilen ohne String-Literal (numerische Akkumulatoren, `s += name`), Verkettung außerhalb von Schleifenrümpfen und Schleifen, deren Rumpf keine geschweiften Klammern hat, werden nicht beanstandet.

Belege

Teil des C#-Regelsatzes von aislop. Vollwertige C#-Unterstützung, einschließlich C#-spezifischer AI-Slop-Regeln, kam mit aislop v0.14.1.