out传值

//传值是指只将这个变量的值给拿走,不返还,除非return赋值
        //将a的值传入函数,无论这个值在函数中如何变化,不会影响main中的值
        //传址,将这个变量值拿走,运算完之后再返还回来,不用return赋值
        //将a的值传入函数,函数中的这个值如何变化,main中的值也会跟着变化
        //相当于:函数中的值,是main种这个a的快捷方式

           



            //out传值9传址)
            public void jia(out int a,out int sum) 
            {
                a = 5;
                sum=0;
                sum=sum +a ;

            }
        //一元二次方程,把x的值取出来
        /// <summary>
        /// 有输入值,有返回值,out传值
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <param name="c"></param>
        /// <param name="x"></param>
        /// <param name="x1"></param>
            public void z(double a,double b,double c,out double x,out double x1)
           {
               x = 0;
               x1 = 0;
             
               if (a > 0)
               {
                   Console.WriteLine("有两个不同的实数跟");
                   
                   x = (-b + Math.Sqrt(b * b - 4 * a * c)) / (2 * a);
                   x1 = (-b - Math.Sqrt(b * b - 4 * a * c)) / (2 * a);
               }
               else
               {
                   Console.WriteLine("有两个相同的实数根");
                   
                   
                   x= (-b + Math.Sqrt(b * b - 4 * a * c)) / (2 * a);
                   x1 = x;
               }

           }

       
        static void Main(string[] args)

        {
            //int sum=3;
            
            //Program dd=new Program(); 
            //Console.WriteLine ("sum"+ sum);
            //Console .WriteLine (" a"+a);
            //Console.ReadLine();

            double x;
            double x1;
            
            Console.WriteLine("请输入一个数a=");
            double a = double.Parse(Console.ReadLine ());
            Console.WriteLine("请输入一个数b=");
            double b = double.Parse(Console.ReadLine ());
            Console.WriteLine("请输入一个数c");
            double c = double.Parse(Console.ReadLine());
            double de = b * b - 4 * a * c;
            
            if (a == 0)
            {
                
                Console.WriteLine("此方程不是一元二次方程");
                
            }
                        
            else
            {
                
        
                if (de < 0)
                {
                    Console.WriteLine("此方程没有实数根");
                }
                else
                {
                    Program m = new Program();
                    m.z(a, b, c, out x, out x1);

                    if (x == x1)
                    {
                        Console.WriteLine("x=x1" + x);
                    }
                    else
                    {
                        Console.WriteLine("x="+x);
                        Console.WriteLine("x1="+x1);
                    }
                }
               
                
            }
            Console.ReadLine();
        }
    }
}
原文地址:https://www.cnblogs.com/xingfudehuanyan/p/5295532.html