Я прочитал некоторые статьи С#, чтобы объединить путь, используя Path.Combine
(часть1, часть2).
Он использует следующее:
string part1 = @"c:\temp";
string part2 = @"assembly.txt";
Могу ли я знать, что такое использование @
в part1 и part2?
Я прочитал некоторые статьи С#, чтобы объединить путь, используя Path.Combine
(часть1, часть2).
Он использует следующее:
string part1 = @"c:\temp";
string part2 = @"assembly.txt";
Могу ли я знать, что такое использование @
в part1 и part2?
@
не относится ни к какому методу.
Это означает, что вам не нужно избегать специальных символов в строке, следующей за символом:
@"c:\temp"
равно
"c:\\temp"
Такая строка называется "verbatim" или @-quoted. См. MSDN.
Как говорили другие, один из них, так что вам не нужно избегать специальных символов и очень полезно при указании путей к файлам.
string s1 [email protected]"C:\MyFolder\Blue.jpg";
Еще одно использование - когда у вас большие строки и вы хотите, чтобы они отображались на нескольких строках, а не на длинном.
string s2 [email protected]"This could be very large string something like a Select query
which you would want to be shown spanning across multiple lines
rather than scrolling to the right and see what it all reads up";
Как указано в С# Language Specification 4.0:
2.4.4.5 Строковые литералы
С# поддерживает две формы строки литералы: регулярные строковые литералы и стенографические строковые литералы. Обычный Строковый литерал состоит из нуля или больше символов, заключенных в двойные цитаты, как в "привет", и могут включать обе простые escape-последовательности (такие как \ t для символа табуляции) и шестнадцатеричный и Unicode-escape последовательности. Дословный строковый литерал состоит из символа @, за которым следует символ двойной кавычки, ноль или более символы и закрывающая двойная кавычка персонаж. Простой пример @ "Здравствуйте". В стенографической строке букв, символы между разделители интерпретируются дословно, единственным исключением является цитата-спусковая последовательность. В частности, простые escape-последовательности и шестнадцатеричный и Unicode-escape последовательности не обрабатываются в verbatim string литералы.
Он обозначает стенографический литерал и позволяет использовать определенные символы, которые обычно имеют особое значение, например \
, который обычно является escape-символом, и новыми строками. По этой причине это очень полезно при работе с путями Windows.
Без использования @
первая строка вашего примера должна быть:
string part1 = "c:\\temp";
Подробнее здесь.
С помощью @вам не нужно скрывать специальные символы.
Итак, вам нужно будет написать "c:\\temp" без @
Если больше заданий, это называется "verbatim" строками. Вы можете прочитать здесь об этом:
http://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx
Символ @просто указывает другой способ указания строки таким образом, что вам не нужно избегать символов. единственное предостережение в том, что двойные кавычки должны быть "для представления одиночного".