C#前缀参数名称与@
可能重复:
在C#中,variables名之前的@符号是什么意思?重复:
在C#中,variables名之前的@符号是什么意思?
有时我会看到一些C#代码,其中一个方法参数的前缀是@,如下所示:
public static void SomeStaticMethod( SomeType @parameterName ) { }
这是什么意思 ? 它有一些重要的特殊含义吗?
我在NHibernate中创build一个EventListener,当我让VS.NET生成接口方法时,它会生成如下所示的OnPostLoad方法:
public class PostLoadEventListener : IPostLoadEventListener { public void OnPostLoad( PostLoadEvent @event ) { } }
为什么是这样 ?
试着做一个名为class的variables,看看会发生什么 – 你会注意到你得到一个错误。
这使您可以使用保留字作为variables名称。
不相关的,你还会注意到以@为前缀的string – 这不是一回事。
string says = @"He said ""This literal string lets me use \ normally and even line breaks"".";
这允许你使用string的'literal'值,这意味着你可以有新的行或字符没有转义等。
@前缀允许你在C#中使用类,接口,事件等保留字作为variables名。 所以你可以做
int @int = 1
事件是一个C#关键字,@是一个转义字符,允许您使用关键字作为variables名称。