Megosztás a következőn keresztül:


Nyers sztringkonstansszöveg – """ sztringkonstansokban

A nyers sztringkonstans legalább három dupla idézőjel (") karakterrel kezdődik és végződik:

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

A nyers sztringkonstansok több sorra is kiterjedhetnek:

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

A többsoros nyers sztringkonstans értelmezését a következő szabályok szabályozzák:

  • A nyitó idézőjeleknek a megfelelő sorban az utolsó nem megjegyzés jogkivonatnak kell lenniük, a záró idézőjelnek pedig az első nem megjegyzés jogkivonatnak kell lennie a megfelelő sorban.
  • A záró idézőjelek bal oldalán lévő üres tér a nyers sztringkonstans összes sorából törlődik.
  • Az ugyanazon a sorban lévő nyitó idézőjelet követő üres tér figyelmen kívül lesz hagyva.
  • A sztringkonstans csak a nyitó idézőjelet követő sorokat tartalmazza.
  • Ha egy szóköz előzi meg ugyanazon a vonalon a véghatárolást, a térköz pontos számának és típusának (például szóközök és lapok) az egyes tartalomsorok elején kell léteznie. A szóköz nem felel meg a vízszintes lapnak, és fordítva.
  • A záró idézőjelek előtti új vonal nem szerepel a literális sztringben.

Előfordulhat, hogy létre kell hoznia egy nyers sztringkonstanst, amely három vagy több egymást követő dupla idézőjel karaktert tartalmaz. A nyers sztringkonstansok legalább három dupla idézőjelből álló sorozattal kezdődhetnek és végződhetnek. Ha a sztringkonstans három egymást követő dupla idézőjelet tartalmaz, a nyers sztringkonstans négy dupla idézőjellel kezdődik és végződik:

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

Ha idézőjelekkel kell kezdenie vagy befejeznie egy nyers sztringkonstanst, használja a többsoros formátumot:

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

A nyers sztringkonstansok interpolált sztringekkel is kombinálhatók a {} kimeneti sztringbe való beágyazásához. Az interpolált nyers sztringkonstansban több $ karaktert is használhat a kimeneti sztringbe való beágyazáshoz { és } a karakterek beágyazásához anélkül, hogy elszabadulna.

A nyers sztringkonstans tartalma nem tartalmazhat olyan összefüggő " karaktereket, amelyek hossza egyenlő vagy nagyobb, mint a nyers sztringkonstans elválasztó hossza. A sztringek """" """ """"""""""" """""" """"" """" """ """"""" például jól formázottak. A sztringek """ """ """""" """" """ azonban nem formázottak

A C# 11-ben bevezettük a nyers sztringkonstansokat.

Lásd még