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传值的主要内容,如果未能解决你的问题,请参考以下文章