In C# 6 c'è una nuova funzione: stringhe interpolate.Come si usano le stringhe letterali con l'interpolazione?
Questi permettono di inserire le espressioni direttamente nel codice, piuttosto che basarsi su indici:
string s = string.Format("Adding \"{0}\" and {1} to foobar.", x, this.Y());
diventa:
string s = $"Adding \"{x}\" and {this.Y()} to foobar.";
Tuttavia, abbiamo un sacco di stringhe su più righe utilizzando stringhe letterali (principalmente istruzioni SQL) come questo:
string s = string.Format(@"Result...
Adding ""{0}"" and {1} to foobar:
{2}", x, this.Y(), x.GetLog());
Ripristino di questi in modo regolare gs sembra disordinato:
string s = "Result...\r\n" +
$"Adding \"{x}\" and {this.Y()} to foobar:\r\n" +
x.GetLog().ToString();
Come utilizzare insieme le stringhe testuali e interpolate?
Se si tratta davvero di stringhe SQL, v'è alcuna ragione per cui non si sta usando query parametrizzate, invece? – svick
"abbiamo un sacco di stringhe su più righe utilizzando stringhe di parole (principalmente istruzioni SQL)" suona come se avessi un sacco di stringhe SQL che consentono attacchi SQL injection. –
@svick siamo, tutto l'input dell'utente è parametrizzato. Tuttavia, utilizziamo ancora l'SQL dinamico pesantemente, poiché creiamo dinamicamente SQL per le nostre entità nel codice. – Keith