通常来说,在字符串里面的特殊符号比如 ",\ 等都要转义,比如一个字符串是: C:\Documents\1.txt 在定义的时候就要这样写: string path="C:\\Documents\\1.txt"; 才可以正常识别,否则单个 \ 号会和后面的字符成转义字符,如果恰巧是无法识别的转义序列,那么会抛出异常。 而@的意思就是告诉编译器,这里面的字符不需要转义,比如上面就是这样: string path=@"C:\Documents\1.txt"; @在特殊符号很多的字符串声明的时候比较有用,比如在写正则的时候,要考虑正则表达式的转义还要去考虑声明的转义。。呵呵,头大。