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



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow