Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Teks literal string mentah -
String mentah literal dimulai dan diakhir dengan minimal tiga karakter tanda kutip ganda ("):
var singleLine = """This is a "raw string literal". It can contain characters like \, ' and ".""";
Literal string mentah dapat mencakup beberapa baris:
var xml = """
<element attr="content">
<body>
</body>
</element>
""";
Aturan berikut mengatur interpretasi string mentah multibaris literal:
- Tanda kutip pembuka harus menjadi karakter non-spasi kosong terakhir di barisnya, dan tanda kutip penutup harus menjadi karakter non-spasi pertama di barisnya.
- Spasi kosong apa pun di sebelah kiri tanda kutip penutup dihapus dari semua baris string mentah harfiah.
- Spasi kosong apa pun yang mengikuti tanda kutip pembuka pada baris yang sama diabaikan.
- Spasi kosong hanya baris setelah tanda kutip pembuka disertakan dalam string literal.
- Jika spasi putih mendahului pemisah akhir pada baris yang sama, angka dan jenis karakter spasi kosong yang tepat (misalnya, spasi vs. tab) harus ada di awal setiap baris konten. Secara khusus, spasi tidak cocok dengan tab horizontal, dan sebaliknya.
- Baris baru sebelum tanda kutip penutup tidak disertakan dalam string literal.
Petunjuk / Saran
Visual Studio dan C# Dev Kit menyediakan beberapa validasi dan penyorotan sintaks saat literal string mentah berisi data JSON atau ekspresi reguler.
Alat mengurai teks. Jika alat memiliki keyakinan bahwa teks mewakili JSON atau ekspresi reguler, editor menyediakan pewarnaan sintaks.
Anda dapat meningkatkan pengalaman tersebut dengan menambahkan komentar di atas deklarasi yang menunjukkan format:
-
// lang=jsonmenunjukkan string mentah harfiah mewakili data JSON. -
// lang=regexmenunjukkan string mentah harfiah mewakili ekspresi reguler.
Ketika literal string mentah digunakan sebagai argumen di mana parameter menggunakan System.Diagnostics.CodeAnalysis.StringSyntaxAttribute untuk menunjukkan format, alat ini memvalidasi string mentah literal untuk beberapa jenis format. Baik JSON maupun regex didukung.
Untuk beberapa format, komentar atau atribut memungkinkan saran kode menawarkan perbaikan untuk literal string berdasarkan format.
Anda mungkin perlu membuat literal string mentah yang memiliki tiga atau lebih karakter kutipan ganda berturut-turut. Literal string mentah dapat dimulai dan diakhir dengan urutan setidaknya tiga karakter kutipan ganda. Saat string Anda literal berisi tiga tanda kutip ganda berturut-turut, Anda memulai dan mengakhiri string mentah literal dengan empat karakter kutipan ganda:
var moreQuotes = """" As you can see,"""Raw string literals""" can start and end with more than three double-quotes when needed."""";
Jika Anda perlu memulai atau mengakhiri string mentah harfiah dengan karakter kutipan, gunakan format multibaris:
var MultiLineQuotes = """"
"""Raw string literals""" can start and end with more than three double-quotes when needed.
"""";
Literal string mentah juga dapat dikombinasikan dengan string terinterpolasi untuk menyematkan { karakter dan } dalam string output. Anda menggunakan beberapa $ karakter dalam string mentah terinterpolasi literal untuk menyematkan { dan } karakter dalam string output tanpa melarikan diri.
Konten literal string mentah tidak boleh berisi sekumpulan karakter berdekatan " yang panjangnya sama dengan atau lebih besar dari panjang pemisah harfiah string mentah. Misalnya, string """" """ """" dan """"""" """""" """"" """" """ """"""" terbentuk dengan baik. Namun, string """ """ """ dan """ """" """ tidak terbentuk