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

 我来答
华源网络
2022-11-06 · TA获得超过5595个赞
知道小有建树答主
回答量:2486
采纳率:100%
帮助的人:147万
展开全部
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

什么是引用?

什么是调用?

他们的区别是什么?

能否举例说明?

解析:

引用一般就是一个指针,它指向一个实体的物理内存。通常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(),就是一次调用的动作。

记住调用永远都是一个动作,而引用只是一个指针。这里要明确一点"调用"是一个动词,而"引用"你要理解成一个名次它等与"指针"。这样就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式