ref out 的用法小结
来源:互联网 发布:电脑盲打软件 编辑:程序博客网 时间:2024/06/01 08:31
1.在传送值类型时: 在传送参数给方法的时候,对于值类型的参数,在方法里面对参数所做的所有修改,在方法结束后不会改变原来的值(就是传值)。如果前面加上ref的话,方法结束后,所做的修改会改变原来的值(就是传引用)。
calss Test...{
public void NoRef(int i)
...{
i = 102;
}
public void Ref(ref int i)
...{
int i =200
}
static void Main()
...{
int i = 100;
NoRef(i);
Console.Write(i);//结果是100
Ref(i);
Console.Write(ref i);//结果是200
}
}
2. 传送引用类型: 对于这个大家就比较好奇了,在值类型里面本来就是传引用,用不着加ref,加了它有什么用 呢。我也是刚知道。看下面代码吧
class People
...{
int age = 30 ;
}
class Test1
...{
public void NoRef1(People p)
...{
p.age = 40;
}
public void NoRef2(People p)
...{
p = new People()
p.age = 50;
}
public void Ref(ref People p)
...{
p = new People()
p.age = 60;
}
static void Main()
...{
People p =new People();
NoRef(P);
Console.Write(p.age);//40
NoRef2(P);
Console.Write(p.age);//40
Ref(out P);
Console.Write(p.age);//60
}
}
...{
int age = 30 ;
}
class Test1
...{
public void NoRef1(People p)
...{
p.age = 40;
}
public void NoRef2(People p)
...{
p = new People()
p.age = 50;
}
public void Ref(ref People p)
...{
p = new People()
p.age = 60;
}
static void Main()
...{
People p =new People();
NoRef(P);
Console.Write(p.age);//40
NoRef2(P);
Console.Write(p.age);//40
Ref(out P);
Console.Write(p.age);//60
}
}
在没有使用ref的情况下,在方法里面new 一个对象,这个对象的值就不会影响到原来的值。如果使用了ref,new完以后所做的修改,还是会影响原来的值。
3 。out 的用法基本上和ref差不多,所不同的是,用out 的时候,传入的参数可以不初值化。
- ref out 的用法小结
- ref和out的用法
- ref和out的用法
- Unity3D ref的用法 out的介绍
- 关于ref 和out 的用法---困惑
- Ref和Out的用法讨论二
- Ref和Out的用法讨论一
- c# ref参数的用法 out参数
- ref和out的用法和区别
- ref和out关键字的用法
- ref 和 out关键字的用法
- c#中ref跟out的用法
- C#关键字params, ref, out的用法
- ref和out的用法及区别
- c#中ref和out的用法
- c#中ref和out的用法
- C#关于ref,out,params的用法
- ref 和 out 用法
- window.createPopup()创建菜单
- 毕业设计框架配置完毕开始研究Birt Runtime
- How does Windows hook up cmd.exe?
- linux下的I/O重定向
- 如何优化SQL Server数据库查询(三)
- ref out 的用法小结
- MinGW 编译 GDIPlus 程序
- 读Windows核心编程 - 7
- 消息队列(Message Queue)简介及其使用
- C/C++程序员应聘常见面试题深入剖析
- 爱情哲学
- 评弹,有些味道,可惜听不懂!
- Code Complete 读书笔记 (Chapter 15 Using Controls)
- (描述Microsoft 平台支持报告工具)Microsoft Product Support Reporting Tool - Alliance Edition