在樣品使用BeginInvoke的線程池的方法:在BeginInvoke調用期間,@object參數引用了什麼?
...
Func<string, int> method = someWorkMethod;
IAsyncResult cookie = method.BeginInvoke("test", ...
一個預期的參數(最後一個)的,在BeginInvoke的是:
object @object
什麼是@意味着什麼?
感謝,
斯科特
在樣品使用BeginInvoke的線程池的方法:在BeginInvoke調用期間,@object參數引用了什麼?
...
Func<string, int> method = someWorkMethod;
IAsyncResult cookie = method.BeginInvoke("test", ...
一個預期的參數(最後一個)的,在BeginInvoke的是:
object @object
什麼是@意味着什麼?
感謝,
斯科特
的@是一個轉義符,讓您使用關鍵字作爲符號名。舉例來說,你不能做正常:
object object = something;
...因爲對象是一個關鍵字,但你可以這樣做:
object @object =
void DoSomething(params object[] @params) {
...等
啊,有趣!我完全忘記了這一點。下一個問題 - 爲什麼我想要通過使用保留字來引入可能的混淆,還是隻是儘可能容納框架? – 2010-07-05 20:16:38
那麼,無論您是否使用該功能,您都可以使用它,這取決於您。他們允許它,因爲有時關鍵字使用完全可用的描述,也可以用於變量名稱。有時候,它會讓人不悅,因爲它們基本上就像關鍵字一樣閱讀,所以您必須決定使用它們是否值得混淆? 我偶爾會用到它,它會混淆一些:) – 2010-07-05 20:21:36
@Scott:它也存在,因爲.NET框架可以被其他語言使用,其中一些語言可能有不同的保留字...(「對象「不是所有.net語言的關鍵字) – 2010-07-05 20:26:27
它只是一種逃避字符。這樣,即使它是一個保留關鍵字,您也可以爲所需的任何名稱命名參數。
重複:http://stackoverflow.com/questions/429529/what-does-the-symbol-before-a-variable-name-mean-in-c; http://stackoverflow.com/questions/91817/whats-the-use-meaning-of-the-character-in-variable-names-in-c – serhio 2010-07-05 21:05:52
完整答案:http://stackoverflow.com/questions/91817/whats-the-use-of-the-character-in-variable-names-in-c/92045#92045 – serhio 2010-07-05 21:06:26