什么是C#的引用

.Net技术 码拜 5年前 (2016-05-23) 409次浏览
关于函数的参数传递问题,本人搜了一些资料大致了解如下

 void func(string arg )

其中 arg 传递过来是个string字符串的地址 并不是string的值
c#把这种传递方式叫做值传递(地址也是一种值)
那么,什么是引用传递呢?
就是ref 或out 标记的参数才是引用传递?

解决方案

40

举例,
假如是
struct A
{
public int i;
}
void foo(A a)
{
a.i = 2;
}
调用
A a;
a.i = 1;
foo(a);
a.i还是1。
将foo修改为
void foo(ref A a)
{
a.i = 2;
}
则a.i变成2。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明什么是C#的引用
喜欢 (0)
[1034331897@qq.com]
分享 (0)