in C#, What does the “@” symbol do?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
What's the @ in front of a string for .NET?
有时我看到了示例代码,会有一个"@"符号和字符串。例如:
1 2 3 4 | EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(); entityBuilder.Provider ="System.Data.SqlServerCe.3.5"; entityBuilder.ProviderConnectionString = providerString; entityBuilder.Metadata = @"res://*/App_Data.data.csdl|res://*/App_Data.data.ssdl|res://*/App_Data.data.msl"; |
在第4行,"@"的用法是什么?我试着去掉这个,它仍然有效。
字符串文字(如@"C:foo")称为逐字字符串文字。它的基本意思是,"在到达下一个引号字符之前,不要对字符应用任何解释"。因此,逐字字符串文字可以包含反斜杠(不需要折叠)甚至行分隔符。要在逐字的文本中获得双引号("),只需将其加倍,例如@"我的名字是"jon"代表字符串,我的名字是"jon"。"包含行分隔符的逐字字符串文本也将在行首包含空格,因此在空格很重要的情况下,我倾向于不使用它们。不过,在源代码中包含XML或SQL非常方便,另外一个典型的用途(不需要行分隔符)是指定文件系统路径。
取自
它告诉编译器不要把