As aspas duplas podem ser escapadas assim:
string test = @"He said to me, ""Hello World"". How are you?";
Mas isso envolve adicionar caracteres "
à string. Existe uma função C # ou outro método para escapar aspas duplas, para que nenhuma alteração na cadeia seja necessária?
c#
string
double-quotes
Mudassir Hasan
fonte
fonte
Respostas:
Não.
Use literals literalmente, ou escape da
"
barra invertida em uso.A cadeia não mudou em nenhum dos casos - há uma única escapada
"
nela. Essa é apenas uma maneira de informar ao C # que o caractere faz parte da cadeia e não um terminador de cadeia.fonte
Você pode usar barra invertida de qualquer maneira;
Imprime;
com exatamente as mesmas impressões;
Aqui está um
DEMO
."
ainda faz parte da sua string.Confira
Escape Sequences
eString literals
no MSDN.fonte
Em C #, você pode usar a barra invertida para colocar caracteres especiais em sua string. Por exemplo, para colocar ", você precisa escrever \". Você escreve muitos caracteres usando a barra invertida: Barra invertida com um número:
Barra invertida com outro caractere
fonte
Você está entendendo errado escapar.
Os
"
caracteres extras fazem parte da cadeia literal; eles são interpretados pelo compilador como um único"
.O valor real da sua string ainda é
He said to me , "Hello World".How are you ?
, como você verá se a imprime em tempo de execução.fonte
Por favor, explique seu problema. Você diz:
Que problema é esse? Você não pode digitar
string foo = "Foo"bar"";
, porque isso invocará um erro de compilação. Quanto à parte de adição , em termos de tamanho de sequência que não é verdade:fonte