可能重複:
When to pass ref keyword in當在一個方法中通過ref傳遞並且在C#中沒有引用時有什麼區別?
大家好,
我只是驚訝,爲什麼我們在C#中有ref
,而默認的一切是在C#中的引用類型作爲參考傳遞。
在簡單的話,任何人都可以給我解釋一下這兩種方法之間的區別來電:
public void Test(SomeClass someClass)
{
// some code here
}
和
public void Test(ref SomeClass someClass)
{
// some code here
}
在我的思想它們都具有參考相同的內存位置。
那麼,爲什麼我們需要關鍵字ref
呢?
在調用test2之後,obj確實是null – Chandu 2010-12-21 21:00:23
@Cybernate:不,它不會。編譯併爲自己測試。 `Test2`中的`obj = null`行只會將參數變量設置爲null;它不會影響`Foo`中的`obj`本地。 – cdhowie 2010-12-21 21:01:19
我的不好...你是對的。今天學到了一件新事物:)。將我的投票添加到答案... – Chandu 2010-12-21 21:05:29