class Program
{
static void Main(
string[] args)
{
//普通 :
int k1 =
1;
int result1 = Test1(k1,
2);
Console.WriteLine("/*普通:*/");
Console.WriteLine(result1);
Console.WriteLine(k1);
//ref :
//用法: 参数要用 ref 一起传递,并且是可以赋值的变量,ref 变量要先赋值
int k2 =
1;
int result2 = Test2(
ref k2,
2);
Console.WriteLine("/*ref:*/");
Console.WriteLine(result2);
Console.WriteLine(k2);
//out :
//用法: 参数要用 out 一起传递,并且是可以赋值的变量,out 变量不用先赋值(只定义即可)
int k3;
Console.WriteLine("/*out:*/");
int result3 = Test3(
out k3,
2);
Console.WriteLine(result3);
Console.WriteLine(k3);
}
/// <summary>
/// 普通
/// </summary>
public static int Test1(
int k,
int p)
{
k++
;
return k +
p;
}
/// <summary>
/// ref
/// </summary>
public static int Test2(
ref int k,
int p)
{
k++
;
return k +
p;
}
/// <summary>
/// out
/// </summary>
public static int Test3(
out int k,
int p)
{
//out 未赋值的变量不能使用,所以在方法内部赋值。
k =
1 +
1;
return k +
p;
}
}
View Code
运行结果:
转载于:https://www.cnblogs.com/SeNaiTes/p/10286025.html
转载请注明原文地址: https://mac.8miu.com/read-55962.html