c#中@为什么能带来便利
在 C# 规范中, @ 可以作为标识符(类名、变量名、方法名等)的第一个字符,以允许C# 中保留关键字作为自己定义的标识符。
如
class @class
{
public static void @static(bool @bool) {
if (@bool)
System.Console.WriteLine("true");
else
System.Console.WriteLine("false");
}
}
class Class1
{
static void M() {
cl\u0061ss.st\u0061tic(true);
}
}
注意,@ 虽然出现在标识符中,但不作为标识符本身的一部分。
因此,以上示例,定义了一个名为 class 的类,并包含一个名为 static 的方法,以及一个参数名为了 bool 的形参。
这样,
对于跨语言的移植带来了便利。因为,某个单词在 C# 中作为保留关键字,但是在其他语言中也许不是。
"对于跨语言的移植带来了便利。"能否举例说明?
------解决方案--------------------
后面不是已经说明了吗
------解决方案--------------------也许不是,你说的是也许,你看看那个开放软件没有共同的,我们也学习学习
------解决方案--------------------在代码较多的情况下(不容易找到变量声明),容易辨别类型(看到@bool就意识到这个变量是bool类型什么的而不用麻烦的去找它的根源)……大概是这样,供参考
------解决方案--------------------模板可编译的代码生成器fastCSharp利用@标识模板变量。
------解决方案--------------------
你随便简单匹配一下呗。例如说:因为,单词static在 C# 中作为保留关键字,但是在其他语言中也许不是。
------解决方案--------------------是么,我写了几十万行代码,都回忆不起来什么时候非得和关键字冲突一下的场景。
lz觉得有用,我反倒问一句,你是做什么特种行业的?
------解决方案--------------------我只在写字符串为了减少转义而@
------解决方案--------------------我不喜欢换行所以用@
------解决方案--------------------我觉得有时候很方便,特别是单词量不多时候,确实有被预留关键字所困。但是@这个符号看着有点别扭
------解决方案--------------------这么些反倒让人觉得奇怪,看起不就好看,还别说用。既然不同语言可能不一样,况且我们对变量命名尽量不要和关键字重复,LZ又何必去使用了