String InsertText = @"UPDATE mytable SET myfield = ?";
之类的东西, @ 的应用还有很多,但是MSDN中说的很简单,
大家可以谈谈心得吗?
20 个解决方案
#1
@就是简单的去除转义字符,这样,换行、“\”符号等都可以直接输入
比如
string s = @" A line
another line";
string s = @" A\B\C\D ";
比如
string s = @" A line
another line";
string s = @" A\B\C\D ";
#2
我不晓得多少,只知@可以取消转意符
比如: @"c:/net/t"就不回先转行,再制表。
等于:"c://net//t"
比如: @"c:/net/t"就不回先转行,再制表。
等于:"c://net//t"
#3
不好意思上面的/写反了,应该是\
#4
那么我的问题中提到的那个用法又是什么意思呢?
比如,在VS.NET中自动生成的INSERT,SELECT语句中就没有@,
但是在 DELETE, UPDATE语句中就带了@, 为什么?
这个@在这里又有什么意义?
比如,在VS.NET中自动生成的INSERT,SELECT语句中就没有@,
但是在 DELETE, UPDATE语句中就带了@, 为什么?
这个@在这里又有什么意义?
#5
在SQL_T的语句中,如果是采用SqlServer那么@开头表示语句的参数,?用于其它非SqlServer的数据库。之所以要在SQL_T的语句前面加上@,是为了防止对语句中可能出现的引号忘记使用\转义,一方面是为了方便,另一方面也保证了程序的稳定,例如:
string sqlQuery="SELECT * FROM pubs WHERE Name='abc'";
上述语句在编译是不会报错,但在执行数据库查询时,会产生异常。但如果是:string sqlQuery=@"SELECT * FROM pub WHERE Name='abc'";就OK.
当然,如果语句中不存在需要转义的符号,也可以不要在前面加@。
string sqlQuery="SELECT * FROM pubs WHERE Name='abc'";
上述语句在编译是不会报错,但在执行数据库查询时,会产生异常。但如果是:string sqlQuery=@"SELECT * FROM pub WHERE Name='abc'";就OK.
当然,如果语句中不存在需要转义的符号,也可以不要在前面加@。
#6
一般都是用于转义:)
#7
niwalker:
你说的又点头绪了,开始明白了.谢谢!
但是什么符号才是所谓的"需要转义"的符号呢?
你说的又点头绪了,开始明白了.谢谢!
但是什么符号才是所谓的"需要转义"的符号呢?
#8
有了@,C#的字符串就会比较像VB.net的,但是还有VB无法比拟的优点!就是换行符的问题。如我经常需要在ASP中嵌入HTML代码,这样就可以写成
Response.Write (@"
<h1>XXX</h1>
<table>
<tr>
<td>
AAAAAA
</td>
<tr>
</table>
";
Response.Write (@"
<h1>XXX</h1>
<table>
<tr>
<td>
AAAAAA
</td>
<tr>
</table>
";
#9
@"c:\mycode\init.exe"就等价于"c:\\mycode\\int.exe"
而
@"ab
c"也等价于"ab\r\nc"
而
@"ab
c"也等价于"ab\r\nc"
#10
除了niwalker所说的,各位的所说的,我原来基本是知道的,
但是有没有一个总结性的规则呢?
在MSDN上说的也是零零碎碎啊.
但是有没有一个总结性的规则呢?
在MSDN上说的也是零零碎碎啊.
#11
在下记得这个@似乎还有一个功能,就是可以使用特殊字符做变量名
比如 int @变量名
似乎是为了跟别的语言兼容用的
比如 int @变量名
似乎是为了跟别的语言兼容用的
#12
good!
我是在创建数据库连接字符串的时候发现的,但是也不懂,原来是这样
我是在创建数据库连接字符串的时候发现的,但是也不懂,原来是这样
#13
还有一个用处,你可以用关键字来做变量名,例如:
int @class;
int @Main;
而他们实际的名称是class、Main,这样可以在不同语言的冲突时利用
int @class;
int @Main;
而他们实际的名称是class、Main,这样可以在不同语言的冲突时利用
#14
那么请问各位,“转义”是什么意思?到底有多少重意思?
为什么?什么时候?什么地方需要“转义”!?
“转义”的具体实现又怎么样做?
为什么?什么时候?什么地方需要“转义”!?
“转义”的具体实现又怎么样做?
#15
标识符不能与关健字冲突。 可以用@来避免这种冲突。
比如说:(下面这两个标识符是等价的)
temp
@temp
@字符不认为是标识符的一部份。
比如说:(下面这两个标识符是等价的)
temp
@temp
@字符不认为是标识符的一部份。
#16
我来学习学习!:)
#17
到底有没有人说说什么是转义啊!
#18
你。。。。。。不明白转义 吗?
就是\ 这个符号,和\n \r 这个组合把字符n r 原来的字符意思改变了(改成控制符号了)
但在表示文件、路径时又有了冲突,就又多了个@ 来取消\ 带来的转义。
就是\ 这个符号,和\n \r 这个组合把字符n r 原来的字符意思改变了(改成控制符号了)
但在表示文件、路径时又有了冲突,就又多了个@ 来取消\ 带来的转义。
#19
哦,原来是这个意思,比如\n是换行这些,我当然知道.
不要说的那么玄乎不就成了.
不要说的那么玄乎不就成了.
#20
来这里讨论真好!
#21
#1
@就是简单的去除转义字符,这样,换行、“\”符号等都可以直接输入
比如
string s = @" A line
another line";
string s = @" A\B\C\D ";
比如
string s = @" A line
another line";
string s = @" A\B\C\D ";
#2
我不晓得多少,只知@可以取消转意符
比如: @"c:/net/t"就不回先转行,再制表。
等于:"c://net//t"
比如: @"c:/net/t"就不回先转行,再制表。
等于:"c://net//t"
#3
不好意思上面的/写反了,应该是\
#4
那么我的问题中提到的那个用法又是什么意思呢?
比如,在VS.NET中自动生成的INSERT,SELECT语句中就没有@,
但是在 DELETE, UPDATE语句中就带了@, 为什么?
这个@在这里又有什么意义?
比如,在VS.NET中自动生成的INSERT,SELECT语句中就没有@,
但是在 DELETE, UPDATE语句中就带了@, 为什么?
这个@在这里又有什么意义?
#5
在SQL_T的语句中,如果是采用SqlServer那么@开头表示语句的参数,?用于其它非SqlServer的数据库。之所以要在SQL_T的语句前面加上@,是为了防止对语句中可能出现的引号忘记使用\转义,一方面是为了方便,另一方面也保证了程序的稳定,例如:
string sqlQuery="SELECT * FROM pubs WHERE Name='abc'";
上述语句在编译是不会报错,但在执行数据库查询时,会产生异常。但如果是:string sqlQuery=@"SELECT * FROM pub WHERE Name='abc'";就OK.
当然,如果语句中不存在需要转义的符号,也可以不要在前面加@。
string sqlQuery="SELECT * FROM pubs WHERE Name='abc'";
上述语句在编译是不会报错,但在执行数据库查询时,会产生异常。但如果是:string sqlQuery=@"SELECT * FROM pub WHERE Name='abc'";就OK.
当然,如果语句中不存在需要转义的符号,也可以不要在前面加@。
#6
一般都是用于转义:)
#7
niwalker:
你说的又点头绪了,开始明白了.谢谢!
但是什么符号才是所谓的"需要转义"的符号呢?
你说的又点头绪了,开始明白了.谢谢!
但是什么符号才是所谓的"需要转义"的符号呢?
#8
有了@,C#的字符串就会比较像VB.net的,但是还有VB无法比拟的优点!就是换行符的问题。如我经常需要在ASP中嵌入HTML代码,这样就可以写成
Response.Write (@"
<h1>XXX</h1>
<table>
<tr>
<td>
AAAAAA
</td>
<tr>
</table>
";
Response.Write (@"
<h1>XXX</h1>
<table>
<tr>
<td>
AAAAAA
</td>
<tr>
</table>
";
#9
@"c:\mycode\init.exe"就等价于"c:\\mycode\\int.exe"
而
@"ab
c"也等价于"ab\r\nc"
而
@"ab
c"也等价于"ab\r\nc"
#10
除了niwalker所说的,各位的所说的,我原来基本是知道的,
但是有没有一个总结性的规则呢?
在MSDN上说的也是零零碎碎啊.
但是有没有一个总结性的规则呢?
在MSDN上说的也是零零碎碎啊.
#11
在下记得这个@似乎还有一个功能,就是可以使用特殊字符做变量名
比如 int @变量名
似乎是为了跟别的语言兼容用的
比如 int @变量名
似乎是为了跟别的语言兼容用的
#12
good!
我是在创建数据库连接字符串的时候发现的,但是也不懂,原来是这样
我是在创建数据库连接字符串的时候发现的,但是也不懂,原来是这样
#13
还有一个用处,你可以用关键字来做变量名,例如:
int @class;
int @Main;
而他们实际的名称是class、Main,这样可以在不同语言的冲突时利用
int @class;
int @Main;
而他们实际的名称是class、Main,这样可以在不同语言的冲突时利用
#14
那么请问各位,“转义”是什么意思?到底有多少重意思?
为什么?什么时候?什么地方需要“转义”!?
“转义”的具体实现又怎么样做?
为什么?什么时候?什么地方需要“转义”!?
“转义”的具体实现又怎么样做?
#15
标识符不能与关健字冲突。 可以用@来避免这种冲突。
比如说:(下面这两个标识符是等价的)
temp
@temp
@字符不认为是标识符的一部份。
比如说:(下面这两个标识符是等价的)
temp
@temp
@字符不认为是标识符的一部份。
#16
我来学习学习!:)
#17
到底有没有人说说什么是转义啊!
#18
你。。。。。。不明白转义 吗?
就是\ 这个符号,和\n \r 这个组合把字符n r 原来的字符意思改变了(改成控制符号了)
但在表示文件、路径时又有了冲突,就又多了个@ 来取消\ 带来的转义。
就是\ 这个符号,和\n \r 这个组合把字符n r 原来的字符意思改变了(改成控制符号了)
但在表示文件、路径时又有了冲突,就又多了个@ 来取消\ 带来的转义。
#19
哦,原来是这个意思,比如\n是换行这些,我当然知道.
不要说的那么玄乎不就成了.
不要说的那么玄乎不就成了.
#20
来这里讨论真好!