读书人

请教在C#中保留字前加@后能将关键字作

发布时间: 2012-03-08 13:30:13 作者: rapoo

请问在C#中保留字前加@后能将关键字作为标识符使用?请问在什么时候会用到这个功能?
请问在C#中保留字前加@后能将关键字作为标识符使用?请问在什么时候会用到这个功能?

[解决办法]
可以参考C#标识符命名规范.
[解决办法]

引用楼主 kuohai 的帖子:
请问在C#中保留字前加@后能将关键字作为标识符使用?请问在什么时候会用到这个功能?

[解决办法]
比如写一个路径的时候"d://dir//dir"
如果你在前面加了@那么就是这样了@"d:/dir/dir"
还有换行的时候可以加比如 string str = "aaaaa"+
"bbbbb";
这样会报错说其中有换行符,如果在前面加了@就没错了: @ string str = @"aaaaa" +
"bbbbb";
[解决办法]
当你要声明的变量名与C#保留字相同时,你只能要么重命名变量名,要么在变量名前加@了:
C# code
    public abstract class Operator    {        public abstract double Operate(double left, double right);    }    public class AddOperator : Operator    {        public override double Operate(double left, double right)        {            return left + right;        }    }    ...        Operator @operator = new AddOperator(); //这里Operator型变量与保留字operator重名,所以在前面加@        double result = @operator.Operate(1.0, 2.0);
[解决办法]
HOHO,说完了,顶上。
不过你可能会有一个疑问@int与aint不是一回事么?都在前面添加了一个字符,已经改变了这个变量名嘛?实际可不是这样的哦:
看个例子:

C# code
public class A{     public int @int =0;     public static void ATest()     {                Type ta = typeof(A);                FiledInfo fi1 = ta.GetField("int");     //成功                  FieldInfo fi2 = ta.GetField("@int");     }} 

读书人网 >C#

热点推荐