ref参数
不仅可以通过值为方法传递参数,还可以通过引用为方法传递参数,若通过引用为方法传递参数,需要使用ref关键字
如果把一个参数传递给方法,且这个方法的输入参数前带有ref关键字,那么这个方法对参数所作的任何改变都会影响原来对象的值
注意
1:通过ref传递的引用参数,在函数成员调用之前,必须已赋值,如果没有明确赋值会报错
实例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _5_ref
{
class Program
{
static void Main(string[] args)
{
string sex = "男";
Person person = new Person();
string name = person.GetName(ref sex);
Console.WriteLine("{0}{1}",name,sex);
Console.ReadKey();
}
}
class Person
{
public string GetName(ref string strSex)
{
if (strSex == "男")
{
strSex = "女";
return "韩梅梅";
}
else
{
strSex = "男";
return "李磊";
}
}
}
}
运行效果
我们可以看到我们的sex的值本身发生了变化,变成了“女”