Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Rå strängliteral text –
En rå strängliteral startar och slutar med minst tre dubbla citattecken (") tecken:
var singleLine = """This is a "raw string literal". It can contain characters like \, ' and ".""";
Råsträngliteraler kan sträcka sig över flera rader:
var xml = """
        <element attr="content">
            <body>
            </body>
        </element>
        """;
Följande regler styr tolkningen av en strängliteral med flera rader:
- De inledande citattecknen måste vara de sista icke-blankstegstecken som finns på deras rad, och de avslutande citattecknen måste vara de första icke-blankstegsteckenen på raden.
- Alla blanksteg till vänster om de avslutande citattecknarna tas bort från alla rader i den råa strängliteralen.
- Alla blanksteg som följer inledande citattecken på samma rad ignoreras.
- Endast blankstegsrader som följer öppningscitatet ingår i strängliteralen.
- Om ett blanksteg föregår slutgränsaren på samma rad måste det exakta antalet och typen av blankstegstecken (till exempel blanksteg kontra flikar) finnas i början av varje innehållsrad. Mer specifikt matchar inte ett blanksteg en vågrät flik och vice versa.
- Den nya raden före de avslutande citattecknen ingår inte i den bokstavliga strängen.
Tips/Råd
Visual Studio och C# Dev Kit ger viss validering och syntaxmarkering när råsträngliteraler innehåller JSON-data eller reguljära uttryck.
Verktygen parsar texten. Om verktygen har förtroende för att texten representerar JSON eller ett reguljärt uttryck tillhandahåller redigeraren syntaxfärgning.
Du kan förbättra den upplevelsen genom att lägga till en kommentar ovanför deklarationen som anger formatet:
- 
              // lang=jsonanger att den råa strängliteralen representerar JSON-data.
- 
              // lang=regexanger att den råa strängliteralen representerar ett reguljärt uttryck.
När en rå strängliteral används som ett argument där parametern använder System.Diagnostics.CodeAnalysis.StringSyntaxAttribute för att ange ett format verifierar dessa verktyg den råa strängliteralen för några av formattyperna. Både JSON och regex stöds.
För vissa format möjliggör kommentaren eller attributet kodförslag som erbjuder korrigeringar för strängliteraler baserat på formatet.
Du kan behöva skapa en rå strängliteral som har tre eller fler dubbelcitattecken i följd. Råsträngliteraler kan starta och sluta med en sekvens med minst tre tecken med dubbla citattecken. När strängliteralen innehåller tre på varandra följande dubbla citattecken startar och avslutar du den råa strängliteralen med fyra dubbla citattecken:
var moreQuotes = """" As you can see,"""Raw string literals""" can start and end with more than three double-quotes when needed."""";
Om du behöver starta eller avsluta en rå strängliteral med citattecken använder du flerradsformatet:
var MultiLineQuotes = """"
               """Raw string literals""" can start and end with more than three double-quotes when needed.
               """";
Råsträngliteraler kan också kombineras med interpolerade strängar för att bädda in { tecknen och } i utdatasträngen. Du använder flera $ tecken i en interpolerad råsträngliteral för att bädda in { och } tecken i utdatasträngen utan att ta bort dem.
Innehållet i den råa strängliteralen får inte innehålla en uppsättning sammanhängande " tecken vars längd är lika med eller större än den råa strängliteralens avgränsare. Till exempel är strängarna """" """ """" och """"""" """""" """"" """" """ """"""" välformulerad. Men strängarna """ """ """ och """ """" """ är dåligt utformade
Råsträngliteraler introducerades i C# 11.