Questo può sembrare stupido, ma ...Costruire grandi stringhe (ad esempio per i comandi SQL) quanto è intelligente il compilatore C#?
Quando creo comandi SQL grandi voglio mantenere il mio codice leggibile e faccio questo:
cmd.CommandText = "SELECT top 10 UserID, UserName " +
"FROM Users " +
"INNER JOIN SomeOtherTable ON xxxxx " +
"WHERE UserID IN (blablabla)";
Vedi le concatenazioni? Ora, per salvare le prestazioni io ora faccio questo:
cmd.CommandText = @"SELECT top 10 UserID, UserName
FROM Users
INNER JOIN SomeOtherTable ON xxxxx
WHERE UserID IN (blablabla)";
Mantiene il codice leggibile ma salva concatenazioni. Ora salva davvero le prestazioni o il compilatore è abbastanza intelligente da "pre-concatenare" la prima stringa?
Qualcuno ti ha insegnato sugli attacchi con iniezione SQL? Questo è esattamente come iniziano. – slugster
Trovo il secondo modulo (molto) più leggibile. –
Se il compilatore fosse così intelligente, si perderebbe il lavoro. Un formato String.Format è ciò che trovo leggibile, non nel modo che preferisci. –