Szukaj…


Składnia

  • @ "ciągi ciągłe są ciągami, których treść nie jest poprzedzana znakami ucieczki, więc w tym przypadku \ n nie reprezentuje znaku nowej linii, lecz dwa pojedyncze znaki: \ i n. Ciągi ciągłe są poprzedzone zawartością ciągu znakiem @"

  • @ „Aby wstawić znaki cudzysłowu, używane są„ ”podwójne cudzysłowy” „”.

Uwagi

Aby połączyć literały łańcuchowe, użyj symbolu @ na początku każdego łańcucha.

var combinedString = @"\t means a tab" + @" and \n means a newline";

Ciągi wielowierszowe

var multiLine = @"This is a 

multiline paragraph";

Wynik:

To jest

akapit wielowierszowy

Wersja demonstracyjna na żywo .NET Fiddle

Ciągi wielowierszowe, które zawierają podwójne cudzysłowy, mogą być również poprzedzane znakami ucieczki, tak jak w jednym wierszu, ponieważ są ciągami dosłownymi.

var multilineWithDoubleQuotes = @"I went to a city named

                        ""San Diego""

                      during summer vacation.";

Wersja demonstracyjna na żywo .NET Fiddle

Należy zauważyć, że spacje / tabulacje na początku wierszy 2 i 3 są faktycznie obecne w wartości zmiennej; sprawdź to pytanie, aby znaleźć możliwe rozwiązania.

Uciekające podwójne cytaty

Cudzysłowy wewnątrz pełnych ciągów można uciec za pomocą 2 kolejnych cudzysłowów "" reprezentować jeden podwójny cudzysłów " w otrzymanej ciąg.

var str = @"""I don't think so,"" he said.";
Console.WriteLine(str);

Wynik:

„Nie wydaje mi się” - powiedział.

Wersja demonstracyjna na żywo .NET Fiddle

Interpolowane ciągi dosłowne

Pełne ciągi znaków można łączyć z nowymi funkcjami interpolacji ciągów, które można znaleźć w C # 6.

Console.WriteLine($@"Testing \n 1 2 {5 - 2}
New line");

Wynik:

Testowanie \ n 1 2 3
Nowa linia

Wersja demonstracyjna na żywo .NET Fiddle

Zgodnie z oczekiwaniami po dosłownym ciągu odwrotne ukośniki są ignorowane jako znaki specjalne. I zgodnie z oczekiwaniami po interpolowanym łańcuchu, każde wyrażenie w nawiasach klamrowych jest oceniane przed wstawieniem do łańcucha w tej pozycji.

Dosłowne ciągi instruują kompilator, aby nie używał znaków zmiany znaczenia

W normalnym ciągu znak odwrotnego ukośnika jest znakiem ucieczki, który instruuje kompilator, aby spojrzał na kolejne znaki w celu ustalenia rzeczywistego znaku w ciągu. ( Pełna lista ucieczek postaci )

W ciągach pełnych nie ma żadnych znaków zmiany znaczenia (z wyjątkiem "" który zamienia się w " ). Aby użyć ciągów pełnych, wystarczy wstawić @ przed początkowymi cudzysłowami.

Ten ciąg dosłowny

var filename = @"c:\temp\newfile.txt"

Wynik:

c: \ temp \ newfile.txt

W przeciwieństwie do używania zwykłego (nieokreślonego) ciągu:

var filename = "c:\temp\newfile.txt"

które wygenerują:

c:    emp
ewfile.txt

za pomocą ucieczki postaci. ( \t jest zastąpione znakiem tabulacji, a \n jest zastąpione znakiem nowej linii.)

Wersja demonstracyjna na żywo .NET Fiddle



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow