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

Live demo op .NET Fiddle

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.";

Live demo op .NET Fiddle

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.

Live demo op .NET Fiddle

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

Live demo op .NET Fiddle

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.)

Live demo op .NET Fiddle



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow