В чем различия строковых литералов между C #, Visual Basic.NET и Managed C ++? - PullRequest
2 голосов
/ 17 марта 2010

Я имею в виду синтаксис для написания строк в коде, включая многострочные и дословные строки.

(Контекст: я работаю над инструментом, который сканирует код, и важно определить, когда токены находятся внутри строки.)

Спасибо!

Ответы [ 2 ]

2 голосов
/ 17 марта 2010

Вот быстрый разбивка между языками

  • Управляемый C ++: поддерживает строковые литералы во многом так же, как ванильный C, C ++ или C #. То есть строки обозначаются как "и допускают escape-последовательности символов в середине через \.
  • C #: поддерживает обычные строковые литералы (по сути, тот же синтаксис, что и в Managed C ++) и дословные строковые литералы. Строковые литералы Verbatim начинаются с @" и не поддерживают escape-последовательности символов (за исключением "", который обозначает один "). Они могут занимать несколько строк, и все пробелы значимы
  • VB.Net: Строки разделены символами "и никакие escape-последовательности не поддерживаются
0 голосов
/ 17 марта 2010

Базовый синтаксис такой же

string csharp;    // C#
string cPlusPlus; // C++

см. Ниже для лучшего понимания

класс строк (C ++) и класс строк (C #)

...