C# Language
Verbatim Strings
Zoeken…
Syntaxis
@ "woordelijke tekenreeksen zijn tekenreeksen waarvan de inhoud niet is ontsnapt, dus in dit geval vertegenwoordigt \ n niet het teken voor de nieuwe regel maar twee afzonderlijke tekens: \ en n. Woordelijke tekenreeksen worden gemaakt met de inhoud van de tekenreeks voorafgegaan door het teken @"
@ "Om aanhalingstekens te ontsnappen," "worden dubbele aanhalingstekens" "gebruikt."
Opmerkingen
Gebruik het @ -teken aan het begin van elke string om stringliteralen samen te voegen.
var combinedString = @"\t means a tab" + @" and \n means a newline";
Multiline snaren
var multiLine = @"This is a
multiline paragraph";
Output:
Dit is een
paragraaf met meerdere regels
Tekenreeksen met meerdere regels die dubbele aanhalingstekens bevatten, kunnen ook worden ontsnapt net zoals op een enkele regel, omdat het woordelijke tekenreeksen zijn.
var multilineWithDoubleQuotes = @"I went to a city named
""San Diego""
during summer vacation.";
Opgemerkt moet worden dat de spaties / tabellen aan het begin van regels 2 en 3 hier feitelijk aanwezig zijn in de waarde van de variabele; controleer deze vraag voor mogelijke oplossingen.
Ontsnappen aan dubbele quotes
Dubbele aanhalingstekens in woordelijke tekenreeksen kunnen worden ontsnapt door 2 opeenvolgende dubbele aanhalingstekens ""
te gebruiken om één dubbel aanhalingsteken "
in de resulterende reeks weer te geven.
var str = @"""I don't think so,"" he said.";
Console.WriteLine(str);
Output:
"Ik denk het niet," zei hij.
Geïnterpoleerde woordelijke tekenreeksen
Verbatim-strings kunnen worden gecombineerd met de nieuwe String-interpolatiefuncties in C # 6.
Console.WriteLine($@"Testing \n 1 2 {5 - 2}
New line");
Output:
Testen \ n 1 2 3
Nieuwe lijn
Zoals verwacht van een woordelijke string, worden de backslashes genegeerd als escape-tekens. En zoals verwacht van een geïnterpoleerde string, wordt elke uitdrukking tussen accolades geëvalueerd voordat deze op die positie in de string wordt ingevoegd.
Woordelijke tekenreeksen instrueren de compiler om geen teken-escapes te gebruiken
In een normale tekenreeks is het backslash-teken het escape-teken, dat de compiler opdraagt naar de volgende tekens te kijken om het werkelijke teken in de tekenreeks te bepalen. ( Volledige lijst met ontsnappingen van tekens )
In woordelijke tekenreeksen zijn er geen tekenontsnappingen (behalve ""
die wordt omgezet in een "
). Om een woordelijke tekenreeks te gebruiken, plaatst u gewoon een @
vóór de aanhalingstekens.
Deze woordelijke reeks
var filename = @"c:\temp\newfile.txt"
Output:
c: \ temp \ newfile.txt
In tegenstelling tot het gebruik van een gewone (niet-letterlijke) tekenreeks:
var filename = "c:\temp\newfile.txt"
dat geeft uit:
c: emp
ewfile.txt
met behulp van karakter ontsnappen. (De \t
wordt vervangen door een tab-teken en de \n
wordt vervangen door een nieuwe regel.)