Aracılığıyla paylaş


Ham dize değişmez değeri metni - """ dize değişmez değerlerinde

Ham dize değişmez değeri en az üç çift tırnak (") karakteriyle başlar ve biter:

var singleLine = """This is a "raw string literal". It can contain characters like \, ' and ".""";

Ham dize değişmez değerleri birden çok satıra yayılabilir:

var xml = """
        <element attr="content">
            <body>
            </body>
        </element>
        """;

Aşağıdaki kurallar, çok satırlı ham dize değişmez değerlerinin yorumlanmasını yönetir:

  • Açılış tırnak işaretleri, satırlarındaki son boşluk olmayan karakterler olmalı ve kapanış tırnak işaretleri de satırlarındaki ilk boşluk olmayan karakterler olmalıdır.
  • Kapanış tırnaklarının solundaki tüm boşluklar ham dize değişmez değerlerinin tüm satırlarından kaldırılır.
  • Aynı satırdaki açılış tırnaklarını izleyen boşluklar yoksayılır.
  • Dize değişmez değerine yalnızca açılış tırnak işaretinden sonraki boşluk satırları eklenir.
  • Aynı satırda bitiş sınırlayıcısının önüne boşluk gelirse, her içerik satırının başında tam sayı ve boşluk karakterlerinin (örneğin boşluklar ve sekmeler) bulunması gerekir. Özellikle, bir boşluk yatay sekmeyle eşleşmez ve tam tersi de geçerlidir.
  • Kapanış tırnak işaretinden önceki yeni satır harfiyen dizeye dahil edilmez.

Tavsiye

Visual Studio ve C# Dev Kit, ham dize değişmez değerleri JSON verileri veya normal ifadeler içerdiğinde bazı doğrulama ve söz dizimi vurgulamaları sağlar.

Araçlar metni ayrıştırma. Araçlarda metnin JSON veya normal ifadeyi temsil ettiği konusunda güven varsa, düzenleyici söz dizimi renklendirmesi sağlar.

Bildirimin üzerine biçimi belirten bir açıklama ekleyerek bu deneyimi geliştirebilirsiniz:

  • // lang=json ham dize değişmez değerinin JSON verilerini temsil eder.
  • // lang=regex ham dize değişmez değerinin normal bir ifadeyi temsil eder.

Bir ham dize değişmez değeri, parametresinin biçimini belirtmek için öğesini System.Diagnostics.CodeAnalysis.StringSyntaxAttribute kullandığı bir bağımsız değişken olarak kullanıldığında, bu araçlar bazı biçim türleri için ham dize değişmez değerini doğrular. Hem JSON hem de regex desteklenir.

Bazı biçimler için açıklama veya öznitelik, biçime göre dize değişmez değerleri için düzeltmeler sunan kod önerileri sağlar.

Ardışık üç veya daha fazla çift tırnak karakteri içeren bir ham dize değişmez değeri oluşturmanız gerekebilir. Ham dize değişmez değerleri en az üç çift tırnak karakteri dizisiyle başlayıp bitebilir. Dize değişmez değeriniz ardışık üç çift tırnak içerdiğinde, ham dize değişmez değerlerini dört çift tırnak karakteriyle başlatır ve sonlarsınız:

var moreQuotes = """" As you can see,"""Raw string literals""" can start and end with more than three double-quotes when needed."""";

Ham dize değişmez değerlerini tırnak karakterleriyle başlatmanız veya sonlandırmanız gerekiyorsa, çok satırlı biçimi kullanın:

var MultiLineQuotes = """"
               """Raw string literals""" can start and end with more than three double-quotes when needed.
               """";

Ham dize değişmez değerleri, çıkış dizesine ve karakterlerini{de birleştirilebilir. Çıkış dizesinde ve karakterlerini kaçış yapmadan eklemek ${ için, ilişkilendirilmiş bir ham dize değişmez değeri içinde birden çok } karakter kullanırsınız.

Ham dize değişmez değerinin içeriği, uzunluğu ham dize değişmez değeri sınırlayıcı uzunluğuna eşit veya ondan büyük olan bir " dizi bitişik karakter içermemelidir. Örneğin, ve """" """ """" dizeleri """"""" """""" """"" """" """ """"""" iyi biçimlendirilmiş. Ancak, ve """ """ """ dizeleri """ """" """ kötü biçimlendirilmiş

Ayrıca bkz.