C# object@object是什么意思
我一直在处理事件和委托,需要异步引发事件,因此我一直在使用:C# object@object是什么意思,c#,keyword,C#,Keyword,我一直在处理事件和委托,需要异步引发事件,因此我一直在使用: public event EventHandler OnHelloEvent; public void Raise() { IAsyncResult syncResult = OnHelloEvent.BeginInvoke(this, new EventArgs(), null, null) 在Intellisense中,最后一个null表示为object@object。我以前没有遇到过这个问题,似乎也找不到任何相关文档
public event EventHandler OnHelloEvent;
public void Raise()
{
IAsyncResult syncResult = OnHelloEvent.BeginInvoke(this, new EventArgs(), null, null)
在Intellisense中,最后一个null
表示为object@object
。我以前没有遇到过这个问题,似乎也找不到任何相关文档
这是什么意思?它有用吗?@允许您使用保留关键字作为参数名称。这是用于转义保留字的特殊字符,以便它们可以用作标识符
请参阅。符号可以被认为是某种类型的“转义”字符。由于
object
是C#中的关键字,因此不能将其用作变量名。但是,在它前面加一个@
字符,它就不再是一个关键字,而是一个有效的变量名 符号@只是一个前缀,允许您使用保留标识符作为变量名
因此,object@object
定义了一个object类型的变量,称为object。每个人都回答“这是什么意思?”但没有人回答“它有用吗?”
在大多数情况下,答案是否定的。你不应该用这个
有一些特殊的例外。不经意间:
class
的变量请参阅:“关键字是预定义的保留标识符,对编译器具有特殊意义。它们不能用作程序中的标识符,除非它们包含@作为前缀。例如,
@if
是一个合法标识符,但if
不是因为它是一个关键字。”这正是我要找的