Bagaimana kurung bisa lolos dalam menggunakan string.Format
.
Sebagai contoh:
String val = "1,2,3"
String.Format(" foo {{0}}", val);
Contoh ini tidak melempar pengecualian, tetapi menghasilkan string foo {0}
.
Apakah ada cara untuk keluar dari kurung?
Jawaban:
Bagi Anda untuk output,
foo {1, 2, 3}
Anda harus melakukan sesuatu seperti:Untuk output yang
{
Anda gunakan{{
dan untuk output yang}
Anda gunakan}}
.atau Sekarang, Anda juga dapat menggunakan interpolasi string c # seperti ini (fitur tersedia dalam C # 6.0)
Escaping Brackets: Interpolasi String $ ("") . itu adalah fitur baru di C # 6.0
sumber
$"a = {{ {a} }}"
)string v = $" foo {{{t}}}";
. Jika Anda memiliki karakter lain untuk melarikan diri yang bukan keriting, Anda dapat menggunakan $ @ combostring v2 = $@"\foo {{{t}}}\";
Ya untuk output
{
dalamstring.Format
Anda harus melarikan diri seperti ini{{
Jadi ini
akan menampilkan
"foo {1,2,3}"
.TETAPI Anda harus tahu tentang bug desain di C # yang dengan pergi pada logika di atas Anda akan menganggap kode di bawah ini akan mencetak {24.00}
Tapi ini mencetak {N}. Ini karena cara C # mem-parsing lolos dari urutan dan memformat karakter. Untuk mendapatkan nilai yang diinginkan dalam kasus di atas, Anda harus menggunakan ini.
Referensi Artikel String.Format gottach dan FAQ Pemformatan String
sumber
string.Format( "{{{0}}}", i.ToString("N") );
yang mungkin lebih mudah dibaca oleh beberapa orang.Hampir sampai! Urutan escape untuk brace adalah
{{
atau}}
lebih untuk contoh Anda, Anda akan menggunakan:sumber
Anda dapat menggunakan kurung buka ganda dan kurung tutup ganda yang hanya akan menampilkan satu braket pada halaman Anda.
sumber
Lolos kurung keriting DAN menggunakan interpolasi string membuat tantangan yang menarik. Anda perlu menggunakan kurung quadruple untuk menghindari parsing dan parsing interpolasi string
string.format
.Escaping Brackets: Interpolasi String $ ("") dan String.Format
sumber
Datang ke sini untuk mencari cara membuat string json ad-hoc (tanpa membuat serial kelas / objek) di C #. Dengan kata lain, bagaimana cara melepaskan kurung kurawal dan kutipan saat menggunakan String Interpolasi dalam C # dan " string kata demi kata " (string ganda dikutip dengan awalan '@'), seperti ...
sumber
sumber
atau Anda dapat menggunakan c # string interpolasi seperti ini (fitur tersedia di C # 6.0)
sumber
Lolos Kurung: String Interpolasi $ (""):
Sekarang, Anda juga dapat menggunakan interpolasi c # string seperti ini (fitur tersedia di C # 6.0)
sumber
Tujuan saya:
Saya perlu menetapkan nilai
"{CR}{LF}"
kestring
variabeldelimiter
.Kode c #:
Catatan: Untuk keluar dari karakter khusus biasanya Anda harus menggunakan. Untuk membuka braket keriting {, gunakan satu ekstra seperti {{. Untuk menutup braket keriting}, gunakan satu tambahan}}.
sumber