新学习者的快速问题,C#代码中"@"的含义是什么?
例子:
ClientDataSource.Where = @"it.ClientID==1";
cont.Notes = @"";
Response.Redirect(@"~/Default.aspx");
Run Code Online (Sandbox Code Playgroud)
谢谢!
@"...."表示逐字字符串文字.C#不处理字符串中的任何转义字符,除了""(允许"在字符串中包含字符).
这使得处理字符串变得更容易和更清晰,否则这些字符串需要有一堆逃逸才能正确处理.例如,文件/文件夹路径.
string filePathRegular = "C:\\Windows\\foo\\bar.txt";
string filePathVerbatim = @"C:\Windows\foo\bar.txt";
Run Code Online (Sandbox Code Playgroud)
它在编写正则表达式时也非常有用,可能还有很多其他的东西.
值得注意的是,C#还使用该@字符作为前缀,以允许将保留字用作标识符.例如,ASP.Net MVC中的Html Helpers可以为其创建的标记采用包含HTML属性的匿名对象.所以你可能会看到这样的代码:
<%= Html.LabelFor(m => m.Foo, new { @class = "some-css-class" } ) %>
Run Code Online (Sandbox Code Playgroud)
在@这里需要的,因为class否则保留字.
| 归档时间: |
|
| 查看次数: |
3231 次 |
| 最近记录: |