首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ADO CommandText语法

ADO CommandText语法
EN

Stack Overflow用户
提问于 2009-07-22 00:05:19
回答 3查看 785关注 0票数 1

有人知道为什么有时在commandText字符串之前使用@吗?

两者似乎都工作得很好。

代码语言:javascript
复制
command.CommandText = @"SELECT id FROM users";

代码语言:javascript
复制
command.CommandText = "SELECT id FROM users";
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-07-22 00:06:53

这是C#的逐字字符串表示法。

一字不差的字符串文字前面有一个前导@,该@后面的引号之间的任何内容都将被视为字符串文字的一部分,而无需转义。

请参阅String literals

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

常规字符串文字由零个或多个双引号括起的字符组成,如"hello",并且可以包括简单转义序列(例如制表符的\t )以及十六进制和Unicode转义序列。

逐字字符串文本由一个@字符后跟一个双引号字符、零个或多个字符以及一个结束双引号字符组成。 @"hello"__.就是一个简单的例子。在逐字字符串文字中,分隔符之间的字符是逐字解释的,唯一的例外是引号转义序列。特别是,简单转义序列、十六进制转义序列和Unicode转义序列不会在逐字字符串文字中处理。逐字字符串文字可以跨多行。

最有可能的情况是,查询跨越多行,而编写代码的人希望将其放在多行中,如下所示:

代码语言:javascript
复制
command.CommandText = @"SELECT id
                       FROM users";

然而,如果没有逐字字符串字面量,则必须执行以下操作:

代码语言:javascript
复制
command.CommandText = "SELECT id"
                      + " FROM users";
票数 5
EN

Stack Overflow用户

发布于 2009-07-22 00:11:17

&=与号

@=以(或以)

票数 0
EN

Stack Overflow用户

发布于 2009-07-22 00:26:43

@是逐字字符串运算符。它在处理正则表达式时非常方便。如果要查找空格字符,可以指定

代码语言:javascript
复制
new RegEx( @"[\w]+") 

而不是

代码语言:javascript
复制
new RegEx("[\\w]+")

以转义“\”。该示例更适用于更复杂的正则表达式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1162390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档