C# Language
Verbatim strängar
Sök…
Syntax
@ "verbatim strängar är strängar vars innehåll inte undviks, så i det här fallet representerar \ n inte det nya linjetecknet utan två enskilda tecken: \ och n. Verbatim strängar skapas och prefixerar stränginnehållet med tecknet @"
@ "För att undkomma citattecken används" "dubbla citattecken" ".
Anmärkningar
För att sammanfoga strängbokstäver använder du symbolen @ i början av varje sträng.
var combinedString = @"\t means a tab" + @" and \n means a newline";
Multiline strängar
var multiLine = @"This is a
multiline paragraph";
Produktion:
Det här är en
flerspråkiga stycket
Live-demonstration på .NET Fiddle
Flersträngssträngar som innehåller dubbla citationstecken kan också undkommas precis som de var på en enda rad, eftersom de är verbatima strängar.
var multilineWithDoubleQuotes = @"I went to a city named
""San Diego""
during summer vacation.";
Live-demonstration på .NET Fiddle
Det bör noteras att utrymmena / tabellerna i början av raderna 2 och 3 här faktiskt finns i värdet på variabeln; kolla denna fråga för möjliga lösningar.
Rymmer dubbla offertar
Dubbla citat inuti verbatima strängar kan undgås genom att använda två sekventiella dubbla citat ""
att representera en dubbelcitat "
i den resulterande strängen.
var str = @"""I don't think so,"" he said.";
Console.WriteLine(str);
Produktion:
"Jag tror inte det," sa han.
Live-demonstration på .NET Fiddle
Interpolerade verbatimsträngar
Verbatim strängar kan kombineras med de nya String interpolation funktioner som finns i C # 6.
Console.WriteLine($@"Testing \n 1 2 {5 - 2}
New line");
Produktion:
Testa \ n 1 2 3
Ny linje
Live-demonstration på .NET Fiddle
Som förväntat från en verbatim sträng ignoreras bakåtstreck som flyktecken. Och som väntat från en interpolerad sträng utvärderas alla uttryck inuti lockiga hängslen innan de sätts in i strängen på den positionen.
Verbatim strängar instruerar kompilatorn att inte använda teckenfång
I en normal sträng är backslash-karaktären flyktecknet, vilket instruerar kompilatorn att titta på nästa tecken (er) för att bestämma det faktiska tecknet i strängen. ( Fullständig lista över tecken flyr )
I ordliga strängar finns det inga teckenflykt (med undantag för ""
som förvandlas till en "
). Om du vill använda en verbatim sträng, berätta bara en @
före startcitationstecken.
Denna verbatim sträng
var filename = @"c:\temp\newfile.txt"
Produktion:
c: \ temp \ newfile.txt
I motsats till att använda en vanlig (icke-verbatim) sträng:
var filename = "c:\temp\newfile.txt"
som kommer att matas ut:
c: emp
ewfile.txt
med tecken som flyr. ( \t
ersätts med ett tabbtecken och \n
ersätts med en ny linje.)
Live-demonstration på .NET Fiddle