无参
//无参数直接调用即可
MethodWithoutParameters();
/// <summary>
/// 没有参数的方法
/// </summary>
private void MethodWithoutParameters()
{
Debug.Log("没有参数的方法");
}
有参
//有一个参数
MethodWithOneParameters("我是参数");
/// <summary>
/// 一个参数 的方法
/// </summary>
private void MethodWithOneParameters(string paraters)
{
Debug.Log("这是一个参数'" + paraters);
}
可空参数
//可以省略一些有默认参数的参数
MethodOfOptionalParameters("你好我的实参", "我是第二个参数");
/// <summary>
/// 可选参数的方法
/// </summary>
private void MethodOfOptionalParameters(string par1 = "你好", string part2 = "'")
{
Debug.Log($"可选参数的方法{nameof(par1)}:{par1},{nameof(part2)}:{part2}");
}
具名参数
//当有些参数可以使用默认参数的时候可以使用:参数名和冒号来指定参数
MethodOfOptionalParameters("我是第一个参数", index: 11);
/// <summary>
/// 具名参数
/// </summary>
/// <param name="par1"></param>
/// <param name="part2"></param>
/// <param name="index"></param>
private void MethodOfOptionalParameters(string par1, string part2 = "具名参数", int index = 10)
{
Debug.Log($"可选参数的方法{nameof(par1)}:{par1},{nameof(part2)}:{part2},{nameof(index)}:{index}");
}
不定长度参数
//不限定参数的个数,但是限制参数的类型
int[] myIntArray = { 5, 6, 7, 8, 9 };
MethodOfOptionalParameters(myIntArray);
/// <summary>
/// 不限定参数个数
/// </summary>
/// <param name="par"></param>
private void MethodOfOptionalParameters(params int[] par)
{
string strPar = "传递的不限数量参数有";
for (int i = 0; i < par.Length; i++)
{
Debug.Log(strPar + i.ToString() + ",");
}
}
带有out的参数
//使用out修饰的参数会直接修改传递过来的实参的值
MethodOfOptionalParameters_out(out strHello);
Debug.Log(strHello);
private void MethodOfOptionalParameters_out(out string strHello)
{
strHello = "被替换的参数内容";
Debug.Log($"替换的是:{strHello}");
}
带有ref 的参数
//使用ref修饰的形参会直接修改传递过来的实参的值
string nana = "ref 参数的默认值";
MethodOfOptionalParameters_ref(ref nana);
Debug.Log(nana);
private void MethodOfOptionalParameters_ref(ref string nanan1)
{
nanan1 = "我是修改了参数之后的值哦";
}