Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tekst literału ciągu nieprzetworzonego —
Zaczyna się literał nieprzetworzonego ciągu i kończy się co najmniej trzema znakami podwójnego cudzysłowu ("):
var singleLine = """This is a "raw string literal". It can contain characters like \, ' and ".""";
Nieprzetworzone literały ciągu mogą obejmować wiele wierszy:
var xml = """
<element attr="content">
<body>
</body>
</element>
""";
Następujące reguły określają interpretację nieprzetworzonego literału ciągu wielowierszowego:
- Cudzysłowy otwierające muszą być ostatnimi znakami bez odstępów w wierszu, a cudzysłowy zamykające muszą być pierwszymi znakami innych niż białe znaki w wierszu.
- Wszelkie białe znaki z lewej strony cudzysłowów zamykających są usuwane ze wszystkich wierszy literału nieprzetworzonego ciągu.
- Wszelkie białe znaki po cudzysłowie otwierającym w tym samym wierszu są ignorowane.
- Białe znaki są uwzględniane tylko po cudzysłowie otwierającym.
- Jeśli biały znak poprzedza ogranicznik końcowy w tym samym wierszu, dokładna liczba i rodzaj znaków odstępu (na przykład spacje a tabulatory) musi istnieć na początku każdego wiersza zawartości. W szczególności spacja nie pasuje do karty poziomej i odwrotnie.
- Nowy wiersz przed cudzysłowem zamykającym nie jest uwzględniony w dosłownym ciągu znaków.
Wskazówka
Program Visual Studio i zestaw deweloperski języka C# zapewniają pewne wyróżnianie poprawności i składni, gdy nieprzetworzone literały ciągu zawierają dane JSON lub wyrażenia regularne.
Narzędzia analizują tekst. Jeśli narzędzia mają pewność, że tekst reprezentuje kod JSON lub wyrażenie regularne, edytor udostępnia kolorowanie składni.
Możesz ulepszyć to środowisko, dodając komentarz nad deklaracją wskazującą format:
-
// lang=jsonwskazuje nieprzetworzone literał ciągu reprezentuje dane JSON. -
// lang=regexwskazuje nieprzetworzone literał ciągu reprezentuje wyrażenie regularne.
Gdy literał nieprzetworzonego ciągu jest używany jako argument, w którym parametr używa parametru System.Diagnostics.CodeAnalysis.StringSyntaxAttribute , aby wskazać format, te narzędzia weryfikują pierwotny literał ciągu dla niektórych typów formatów. Obsługiwane są zarówno pliki JSON, jak i regex.
W przypadku niektórych formatów komentarz lub atrybut włącza sugestie dotyczące kodu oferują poprawki literałów ciągu na podstawie formatu.
Może być konieczne utworzenie nieprzetworzonego literału ciągu zawierającego co najmniej trzy kolejne znaki podwójnego cudzysłowu. Nieprzetworzone literały ciągu mogą rozpoczynać się i kończyć sekwencją co najmniej trzech znaków podwójnego cudzysłowu. Gdy literał ciągu zawiera trzy kolejne podwójne cudzysłowy, zaczynasz i kończysz nieprzetworzone literał ciągu z czterema podwójnymi znakami cudzysłowu:
var moreQuotes = """" As you can see,"""Raw string literals""" can start and end with more than three double-quotes when needed."""";
Jeśli musisz uruchomić lub zakończyć nieprzetworzone literał ciągu z znakami cudzysłowu, użyj formatu wielowierszowego:
var MultiLineQuotes = """"
"""Raw string literals""" can start and end with more than three double-quotes when needed.
"""";
Nieprzetworzone literały ciągów można również łączyć z ciągami interpolowanym w celu osadzenia { znaków i } w ciągu wyjściowym. Do osadzania $ i { znaków w ciągu wyjściowym używa się wielu } znaków w postaci interpolowanej nieprzetworzonego literału ciągu, bez ich ucieczki.
Zawartość nieprzetworzonego literału ciągu nie może zawierać zestawu ciągłych " znaków, których długość jest równa lub większa niż długość ogranicznika nieprzetworzonego ciągu. Na przykład ciągi """" """ """" i """"""" """""" """"" """" """ """"""" są dobrze sformułowane. Jednak ciągi """ """ """ i """ """" """ są źle sformułowane