using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
int x1 = 3;
int x2 = 5;
int x3 = 0;
Add(x1, x2,ref x3);
Console.WriteLine(x3);
}
static void Add(int x1,int x2,ref int x3) //x3引用传递,和主函数x3共用一个内存
{
x3 = x1 + x2;
}
}
}
可以看到,在上面使用ref的引用传递中,必须在主函数中给x3赋初值才可以使用int x3 = 0;
但是实际上我们仅仅是想要x3返回的值,并不需要初值,由此因此out参数。在out参数使用中,只需要对x3初始化,不需要给其赋初值。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
int x1 = 3;
int x2 = 5;
int x3; //仅仅需要初始化
Add(x1, x2,out x3);
Console.WriteLine(x3);
}
static void Add(int x1,int x2,out int x3)
{
x3 = x1 + x2;
}
}
}
上面就是out与ref的区别。
来源:CSDN
作者:帆帆帆爱学习
链接:https://blog.csdn.net/qq_42366123/article/details/103650937