out传值

Posted MrY的nn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了out传值相关的知识,希望对你有一定的参考价值。

//传值,只将这个变量的值拿走,不返还,除非return赋值
//将a的值传入函数,无论这个值在函数中如何变化,不会影响main中的值
//传址,这个变量的值拿走运算,完成后还是得返还回来(不用return,用out)
//将a的值传入函数,函数中这个值如何变化,main中的这个值也会跟着变化
//out传值(传址)

 

案例:

public void gen(int a, int b, int c, out double x1, out double x2)//ax*x+b*x+c=0
{
int de = b * b - 4 * a * c;
x1 = 0;
x2 = 0;
if (a != 0)
{
if (de < 0)
{
Console.WriteLine("de<0,此方程无实根");
}
else if (de > 0)
{
x1 = (-b + Math.Sqrt(de)) / 2 * a;
x2 = (-b - Math.Sqrt(de)) / 2 * a;
Console.WriteLine("方程有两个不同的实数根:x1=" + x1 + ",x2=" + x2);
}
else//de==0
{
x1 = x2 = (-b + Math.Sqrt(de)) / 2 * a;
Console.WriteLine("方程有两个相等的实根:x1=x2=" + x1);
}

}
else
{
Console.WriteLine("a=0,此方程不是一元二次方程!");
}

}

以上是关于out传值的主要内容,如果未能解决你的问题,请参考以下文章

intent传值传对象跳转

10月19日--传值传址结构体

传值传引用

传值传址。以及结构体的知识点 例题

函数传值传参

理解C++传值传址引用调用