当前位置: 移动技术网 > IT编程>开发语言>c# > C#函数的参数传递2(ref\out)

C#函数的参数传递2(ref\out)

2019年11月08日  | 移动技术网IT编程  | 我要评论
using System; namespace class1 { class program { static void Main(string[] args) { Console.Write("请输入a="); double a = double.Parse(Console.ReadLine()) ...
using system;
namespace class1
{
    class program
    {
        static void main(string[] args)
        {
            console.write("请输入a=");
            double a = double.parse(console.readline());
            console.write("请输入b=");
            double b = double.parse(console.readline());
            console.writeline("first");
            console.write("\t{0}  {1}", a, b);
            swap(a,b);
            console.writeline("\nsecond");
            console.writeline("\t{0}  {1}" ,a,b);
            swap1(ref a, ref b);//实际参数也加上ref
            console.writeline("\nthird");
            console.writeline("\t{0}  {1}", a, b);
            console.write("请输入r=");
            double r = double.parse(console.readline());
            double s = mianjizhouchang(r, out double c);//这里的out也可以用ref代替,这个时候要为c赋初值
            console.writeline("面积是{0},周长是{1}",s,c);
        }
        static void swap(double x, double y) {
            double z = x;
            x = y;
            y = z;
        }
        /// <summary>
        /// 使形式参数变成引用传递,加上ref
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        static void swap1(ref double x, ref double y)
        {
            double z = x;
            x = y;
            y = z;
        }
        /// <summary>
        /// out应用
        /// </summary>
        /// <param name="r"></param>
        /// <param name="zhouchang"></param>
        /// <returns></returns>
        static double mianjizhouchang(double r,out double zhouchang) {
            double s = math.pi * r * r;
            zhouchang = 2 * math.pi * r;
            return s;
        }
    }
}

 

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网