C# 在BeginInvoke调用期间,@object参数指的是什么?

C# 在BeginInvoke调用期间,@object参数指的是什么?,c#,begininvoke,iasyncresult,C#,Begininvoke,Iasyncresult,在BeginInvoke线程池方法的示例使用中: ... Func<string, int> method = someWorkMethod; IAsyncResult cookie = method.BeginInvoke("test", ... @代表什么 谢谢 Scott@是一个转义符号,可以使用关键字作为符号名。例如,您通常无法执行以下操作: object object = something; …因为对象是关键字,但您可以执行以下操作: object @object =

在BeginInvoke线程池方法的示例使用中:

...
Func<string, int> method = someWorkMethod;
IAsyncResult cookie = method.BeginInvoke("test", ...
@代表什么

谢谢


Scott

@是一个转义符号,可以使用关键字作为符号名。例如,您通常无法执行以下操作:

object object = something;
…因为对象是关键字,但您可以执行以下操作:

object @object = 

void DoSomething(params object[] @params) {

…etc

@是一个转义符号,允许您使用关键字作为符号名称。例如,您通常无法执行以下操作:

object object = something;
…因为对象是关键字,但您可以执行以下操作:

object @object = 

void DoSomething(params object[] @params) {

…etc

它只是一个转义字符。这样,您就可以随意命名参数,即使它是保留关键字。

它只是一个转义字符。这样,您就可以随意命名参数,即使它是保留关键字。

啊,真有趣!我完全忘记了那件事。下一个问题-为什么我想通过使用保留字来引入可能的混淆,或者它只是尽可能地适应框架?好的,这个特性是为您提供的,无论您是否使用,这取决于您。它们允许这样做,因为有时关键字使用完全可用的描述,这些描述也可以用于变量名。有时,人们会不赞成它,因为它们本质上读起来像关键词,所以你必须决定使用它们是否值得混淆?我偶尔会使用它们,这确实让一些人感到困惑:)@Scott:它也存在,因为.NET framework可以被其他语言使用,其中一些语言可能有不同的保留字。。。(“object”在所有.net语言中都不是关键字)很好@里德:我没有想到c语言以外的语言——另一个很好的观点。谢谢大家!啊,有趣!我完全忘记了那件事。下一个问题-为什么我想通过使用保留字来引入可能的混淆,或者它只是尽可能地适应框架?好的,这个特性是为您提供的,无论您是否使用,这取决于您。它们允许这样做,因为有时关键字使用完全可用的描述,这些描述也可以用于变量名。有时,人们会不赞成它,因为它们本质上读起来像关键词,所以你必须决定使用它们是否值得混淆?我偶尔会使用它们,这确实让一些人感到困惑:)@Scott:它也存在,因为.NET framework可以被其他语言使用,其中一些语言可能有不同的保留字。。。(“object”在所有.net语言中都不是关键字)很好@里德:我没有想到c语言以外的语言——另一个很好的观点。谢谢大家!副本:;完整答案:重复:;完整答案: