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.