菜菜虫请教通俗例子关于ref和out

zjs1109 2008-11-27 08:41:10
如上,通俗易懂的例子,哈哈
...全文
75 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjs1109 2008-11-27
  • 打赏
  • 举报
回复
class RefExample
{
static void Method(ref int i)
{
i = 44;
}
static void Main()
{
int val = 0;
Method(ref val);
// val is now 44
}
}
menglingjun 2008-11-27
  • 打赏
  • 举报
回复
通俗的解释就是out要有初始值,ref不需要初始值。
值类型与引用类型。
没有梦想 2008-11-27
  • 打赏
  • 举报
回复
例子:
private void test(ref string str) {

}
private void test(out string str) {

}

用out没有修改就会报错。out只要是用来返回一个对象。
wuyq11 2008-11-27
  • 打赏
  • 举报
回复
ref是传递参数的地址,out是返回值
ref传进去的参数必须在调用前初始化,out不必
int i;
SomeMethod( out i );
ref传进去的参数在函数内部可以直接使用,而out不可:
public void SomeMethod(ref int i)
{
int j=i;
...
}

长沙三毛 2008-11-27
  • 打赏
  • 举报
回复
1)如果value是string,则
decimal val;
decimal.TryParse(value, out val));返回解析后的val值
2)ref 与 C++ 的&引用相同

private void SetValue(ref int value)
{
value = -1;
}

private void Text()
{
int v;
SetValue(ref v); // 此时 v 将是 -1
}

spmzfz 2008-11-27
  • 打赏
  • 举报
回复
难到你的电脑上没有安装MSDN吗?

MSDN上有解释的。。。。
没有梦想 2008-11-27
  • 打赏
  • 举报
回复
out是必须要有返回值的,重点在返回.而且必须有返回数据
ref重在修改,他也可以原值返回

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧