当我将一个C#string括在“中”时,它意味着什么&引用;?

当我将一个C#string括在“中”时,它意味着什么&引用;?,c#,.net,string,C#,.net,String,可能重复: 对不起,我在谷歌上找不到这个。我猜当我进行搜索时,它可能不接受我的搜索字符串 有人能告诉我这在C中是什么意思吗# @的意思是什么?它是一个。这基本上意味着它将使用除“”以外的任何字符,包括新行。要写出“,请使用”,,这意味着它是一个文本字符串。 没有它,任何包含A的字符串都会考虑下一个字符为特殊字符,例如新行的\n。前面有一个@,它将按字面意思处理\ 在您给出的示例中,输出没有差异 引用的优点是不处理转义序列,, 这使得编写一个完全限定的文件变得很容易 姓名: 这意味着双引号内的字

可能重复:

对不起,我在谷歌上找不到这个。我猜当我进行搜索时,它可能不接受我的搜索字符串

有人能告诉我这在C中是什么意思吗#


@
的意思是什么?

它是一个。这基本上意味着它将使用除
”以外的任何字符,包括新行。要写出
,请使用
,,这意味着它是一个文本字符串。 没有它,任何包含A的字符串都会考虑下一个字符为特殊字符,例如新行的\n。前面有一个@,它将按字面意思处理\

在您给出的示例中,输出没有差异

引用的优点是不处理转义序列,, 这使得编写一个完全限定的文件变得很容易 姓名:


这意味着双引号内的字符应按原样解释

您可以看到反斜杠被视为字符,而不是字符 使用@时的转义序列。C#编译器还允许您 在逐字逐句中使用真正的换行符。您必须对报价单进行编码 用双引号标记

请看下面的例子

C#支持两种形式的字符串文字:常规字符串文字和逐字字符串文字

  • 常规字符串文字由零个或多个包含在内的字符组成 在双引号中,如在“hello”中,可能包括两个简单的转义 序列(例如\t用于制表符)和十六进制以及 Unicode转义序列

  • 逐字字符串文字由@字符后跟 双引号字符、零个或多个字符和结束符 双引号字符。一个简单的例子是“你好”。一字不差 字符串文字,分隔符之间的字符将被解释 逐字逐句,唯一的例外是引用转义序列。在里面 特殊的简单转义序列以及十六进制和Unicode 转义序列不以逐字字符串文字处理。A. 逐字字符串文字可能跨越多行

代码示例

string a = "hello, world";                  // hello, world
string b = @"hello, world";               // hello, world
string c = "hello \t world";               // hello     world
string d = @"hello \t world";               // hello \t world
string e = "Joe said \"Hello\" to me";      // Joe said "Hello" to me
string f = @"Joe said ""Hello"" to me";   // Joe said "Hello" to me
string g = "\\\\server\\share\\file.txt";   // \\server\share\file.txt
string h = @"\\server\share\file.txt";      // \\server\share\file.txt
string i = "one\r\ntwo\r\nthree";
string j = @"one
two
three";
参考链接:

@"c:\Docs\Source\a.txt"  // rather than "c:\\Docs\\Source\\a.txt"
string fileLocation = "C:\\CSharpProjects";
string fileLocation = @"C:\CSharpProjects";
string a = "hello, world";                  // hello, world
string b = @"hello, world";               // hello, world
string c = "hello \t world";               // hello     world
string d = @"hello \t world";               // hello \t world
string e = "Joe said \"Hello\" to me";      // Joe said "Hello" to me
string f = @"Joe said ""Hello"" to me";   // Joe said "Hello" to me
string g = "\\\\server\\share\\file.txt";   // \\server\share\file.txt
string h = @"\\server\share\file.txt";      // \\server\share\file.txt
string i = "one\r\ntwo\r\nthree";
string j = @"one
two
three";