【发布时间】:2013-09-10 00:59:22
【问题描述】:
按引用传递引用对象有什么用。常规用法如下:
public static void main()
{
Student st = new Student();
st.FirstName = "Marc";
PutLastName(st);
Console.WriteLLine(st.FirstName + " " + st.LastName);
}
public static PutLastName(Student student)
{
student.LastName = "Anthony";
}
为什么有人会写以下内容,它做同样的事情并打印:“Marc Anthony”:
public static void main()
{
Student st = new Student();
st.FirstName = "Marc";
PutLastName(ref st);
Console.WriteLLine(st.FirstName + " " + st.LastName);
}
public static PutLastName(ref Student student)
{
student.LastName = "Anthony";
}
【问题讨论】:
-
这基本上是一个骗子:stackoverflow.com/questions/635915/…。您应该考虑只阅读
ref的文档以了解区别:msdn.microsoft.com/en-us/library/14akc2c7.aspx。诚然,我认为使用ref没有常见的原因,所以你的大脑可能很难接受这样的事情的存在。
标签: c# parameter-passing pass-by-reference