楼上的回答有些偏差,实际上@的作用是加在字符串前面用来表明该字符串是原封不动的,就算是有转义符在里面也不进行转义。如:string str =@"c\\data\\"; 的值还是 c\\data\\
@的作用是后面跟着的字符串添加转义字符
例:c:\data\这个路径用字符串表示
string str = "c:\\data\\";
string str =@"c\data\";
两者效果是一样的
加@号一般用在程序的sql语句里
转义,后续的需要转义的字符无效。
这些函数应该是你自己写的,或者是别人写的你调用。非公用函数,所以,如果想让别人帮到你,把这两个函数的代码发出来看看。
在C#的程序中情况如下:
因为有转义字符的概念,所以在程序运行的时候碰到“转义字符”,它是按照转义字符来解释的,比如你想打开D盘的T.txt文件,是用 File.Open("D:\T.txt",FileMode.Open),这样是编译不过的,因为编译器认为\T是你定义的转义字符,而这个转义字符是不存在的。当你改为 File.Open("D:\t.txt",FileMode.Open)时,编译通过,但是在运行的时候JIT在讲IL编译为本地代码时会将其解释为你想打开D:\ .txt,所以会报错。这时加上@是告诉编译器后面的东西你按照字符串来解释,不要解释为转义字符
如果是在数据库中的时候,应该是临时变量的设置