Mettendo "nella stringa verbatim con c# [duplicato
-
13-11-2019 - |
Domanda
Ho bisogno di stampare
a
"b"
c
Con la stringa Vebatim, ho posto un'altra domanda sul modello di codice di più riga qui.
Ho provato con la stringa verbatim come segue:
using System;
class DoFile {
static void Main(string[] args) {
string templateString = @"
{0}
\\"{1}\\"
{2}
";
Console.WriteLine(templateString, "a", "b", "c");
}
}
Ma ho ricevuto questo errore.
t.cs(8,11): error CS1525: Unexpected symbol `{'
t.cs(9,0): error CS1010: Newline in constant
t.cs(10,0): error CS1010: Newline in constant
\"{1}\"
Non funziona neanche.
Cosa c'è che non va?
Soluzione
Prova questo ("" invece di "per fuggire)
string templateString = @"
{0}
""{1}""
{2}
";
Dalla specifica C#: http://msdn.microsoft.com/en-us/library/aa691090
citazione-escape-sequence: ""
Altri suggerimenti
In una stringa verbatim letterali che usi ""
Per i personaggi a doppia citazione.
string line = @"
{0}
""{1}""
{2}";
Quando si utilizza una stringa multilinea letterale in C# con @"
, la sequenza di fuga corretta per una doppia quota diventa ""
invece di \"
.
string templateString = @"
{0}
""{1}""
{2}
";
In una stringa verbatim, usa ""
per un "
nel risultato.
In un @"
stringa, doppie citazioni incorporate vengono sfuggite come ""
,non \"
. Cambia il tuo codice in
string templateString = @"
{0}
""{1}""
{2}
";
E i tuoi problemi dovrebbero andare via.
string templateString = @"
{0}
""{1}""
{2}
";
Modifica: aggiornato per mostrare la sintassi corretta quando si utilizza verbatim.
Usa una preventivo "doppia doppia" per produrre una singola doppia preventivo nell'output. È allo stesso modo il vecchio VB6 elaborerebbe le stringhe.
@" ""something"" is here";
Contiene una stringa che ha citazioni attorno a qualcosa.