Kelimesi kelimesine bir dize değişmez bir çift tırnak kaçabilir?


534

C # 'da bir sözcük dizgisi değişmezinde (@ "foo"), ters eğik çizgiler kaçış olarak ele alınmaz, bu nedenle çift tırnak almak için \ "yapmak işe yaramaz. ?

Bu anlaşılır bir şekilde çalışmaz:

string foo = @"this \"word\" is escaped";

Yanıtlar:


870

Yinelenen bir çift tırnak kullanın.

@"this ""word"" is escaped";

çıktılar:

this "word" is escaped

@ Html.Raw () kullanmaya çalışıyorum ve dörtlü alıntı benim dize tatili
JoshYates1980 26:14

1
Dizgi değişmezi olmadan kullanabilirsiniz? Html.Raw () sizin için bir dize olmasını sağlamak gibi görünüyor ...
Myles

2
Bu dize enterpolasyon ile birlikte kullanmak da mümkündür: $@"this ""{wordVar}"" is escaped";.
fdelia

113

Çift tırnak işareti kullanın.

string foo = @"this ""word"" is escaped";

95

Daha fazla bilgi eklemek için, örneğiniz şu şekilde @sembol olmadan çalışır (\ ile kaçmayı önler), bu şekilde:

string foo = "this \"word\" is escaped!";

Her iki şekilde de çalışır, ancak daha kolay çalışabilmesi için çift tırnaklı stili tercih ederim, örneğin dosya adlarıyla (dizede çok sayıda).


81

Bu, aklınıza gelebilecek tüm soruları silmenize yardımcı olacaktır: c # literals

Bağlı içerikten bir tablo:

resim açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.