新手求助,怎么理解和运用‘值’与‘引用’? 本帖最后由 yejb0908 于 2009-12-02 08:34:10 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 x(a) a:实参void x(int aa) aa:形参x(a) a:值参数x(ref a) a:引用参数int a a:值类型object a a:引用类型 傻瓜型的理解方式形参决定你的参数类型 比如你定义方法时的参数就是形参了voin Func(int a,string b){}这里的a和b就是形参了实参呢 它决定你参数的实际数据 比如你在调用某个方法时传递的参数Func(2,"str");那这里的2和"str"就是实参了值类型表示的就是那些实实在在的数据比如各种基础类型int char string 结构体 数组等而引用呢 它只是一个单纯的地址 指向你的数据比如某个类的对象实例方法就是执行某个行为的具体实现事件则是一种通知 需要依靠委托来实现 本身不具备任何执行能力仅在客户端订阅事件后 才可能会做出响应动作就好比用广播发通知 发的人只管发 不管谁能接收到通知 也不管接到通知后的行为如何而听广播的人 觉得通知有用 就可以去做出某些行动了 如果觉得没用 就无视广播如果对事件和委托理解的不很好 可以参考下面链接的文章 相信对你有帮助http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspxhttp://www.tracefact.net/CSharp-Programming/Delegates-and-Events-Advanced.aspx(这是续篇) 1、形参,实参 形参就是你写一个方法时在“()”中定义的参数,实参是你在调用该方法时在“()”中传递的参数。2、值参数,引用参数 值参数就是普通的参数,引用参数就是加了ref或者out的参数。3、值类型,引用类型 值类型即(通常指)结构,我们说的int,float等基本数据类型都是结构,包括枚举也是结构;引用类型(通常指)即类。二者的区别是,值类型在编译的时候栈里面存的是值,而引用类型在编译的时候栈里面存的是引用(或者叫指针),该引用指向一个托管堆地址,那里存的是这个引用类型真正的值。========= 4、方法和事件的区别?事件是一个特殊的委托,委托可以看成是方法的指针。即它可以指向一类方法。 关于c#的类型。。 能不能不用Timer组件控制时间? 求DataGridView在离开行之前的事件 如何判断 文本框中输入的是不是汉字? 求教C#中filestream的问题 怎样能控制一个datagrid只能修改内容,不能添加删除? 动态生成的datagrid,各列的关度也是自适应测,如何得到每个列的宽度值? 省,市,县,三级联动问题...大虾们进来哈... 关于Bitmap的问题 .sfv文件不知用什么软件打开 .NET中默认的dll引用放在哪里? 求 C#简体中文帮助手册.chm
void x(int aa) aa:形参x(a) a:值参数
x(ref a) a:引用参数int a a:值类型
object a a:引用类型
voin Func(int a,string b)
{
}
这里的a和b就是形参了
实参呢 它决定你参数的实际数据 比如你在调用某个方法时传递的参数
Func(2,"str");
那这里的2和"str"就是实参了值类型表示的就是那些实实在在的数据
比如各种基础类型int char string 结构体 数组等
而引用呢 它只是一个单纯的地址 指向你的数据
比如某个类的对象实例方法就是执行某个行为的具体实现
事件则是一种通知 需要依靠委托来实现 本身不具备任何执行能力
仅在客户端订阅事件后 才可能会做出响应动作
就好比用广播发通知 发的人只管发 不管谁能接收到通知 也不管接到通知后的行为如何
而听广播的人 觉得通知有用 就可以去做出某些行动了 如果觉得没用 就无视广播
如果对事件和委托理解的不很好 可以参考下面链接的文章 相信对你有帮助
http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx
http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-Advanced.aspx(这是续篇)
形参就是你写一个方法时在“()”中定义的参数,实参是你在调用该方法时在“()”中传递的参数。
2、值参数,引用参数
值参数就是普通的参数,引用参数就是加了ref或者out的参数。
3、值类型,引用类型
值类型即(通常指)结构,我们说的int,float等基本数据类型都是结构,包括枚举也是结构;
引用类型(通常指)即类。
二者的区别是,值类型在编译的时候栈里面存的是值,而引用类型在编译的时候栈里面存的是引用(或者叫指针),该引用指向一个托管堆地址,那里存的是这个引用类型真正的值。
=========
4、方法和事件的区别?
事件是一个特殊的委托,委托可以看成是方法的指针。即它可以指向一类方法。