c#中的引用和调用的区别

王朝知道·作者佚名  2010-01-03
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

什么是引用?

什么是调用?

他们的区别是什么?

能否举例说明?

參考答案:

引用一般就是一个指针,它指向一个实体的物理内存。通常C#中除了值类型的对象之外所有的对象都是引用类型。也就是说当你调用一个引用类型的对象的时候,它会将自己指向的地址传递给你,然后根据地址去做你想做的事情。

例如: Object obj = new Object();

obj = new Object();

上面这个语句中,Object obj的意思就是创建一个Object类型的引用类型对象obj,其实这个obj只是一个指针,系统会在内存中创建一个对象堆栈专门存放这种指针。而new Object()做的是在内存中开辟一块内存空间实际存放一个对象。然后 = 号将指针obj指向由new Object()开辟的这个内存控件。第二个语句中又使用了new Object()创建了一个新的Object类型的内存控件,这个空间是全新的,然后又将obj的指针指向了新的这个内存。在这里 obj对象就是一个引用其实就是一个指针。

调用是一个动作,是对象与对象之间交互的时候,互相做的动作。因此引用和调用不是同一类东西。一般来说当一个类使用到本类或者其他类内部的对象、字段、事件、方法、属性等的时候就叫调用,相当于将别人的东西拿过来用。

例如:

public Class A

{

public void SetA()

{

}

}

public Class B

{

public void Operation()

{

A a = new A();

a.SetA();

}

}

上面这个例子中在B的Operation方法中创建了一个A对象,然后a.SetA(),就是一次调用的动作。

记住调用永远都是一个动作,而引用只是一个指针。这里要明确一点"调用"是一个动词,而"引用"你要理解成一个名次它等与"指针"。这样就可以了。

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航