C#中ref,out,params参数小练习

第一题:

定义三个整型变量a,b,c要求将最大值赋值给a,中间值赋值给b,最小值赋值给c,(要求使用ref)。

先定义一个MathTool类,在类里添加自定义方法SetNum如:

public void SetNum(ref int  max,ref int mid,ref int min)
        {
            if (max < mid)
                max = mid;
            if (max < min)
                max = min;
            if (mid < min)
                mid = min;
            Console.WriteLine("最大值:" + max, "中间值:" + mid, "最小值:" + min);

        }

在主函数里面调用Set方法。

MathTool mt = new MathTool();
int a=1, b=2, c=3;
mt.SetNum(ref a,ref b,ref c);
Console.WriteLine(a );

输出结果为3。

第二题

用一个方法计算矩形的面积和体积,并同时返回他的面积和体积。(要求使用out)。

继续在MathTool里面添加方法Area如下:

public void Area(float x,float y,float z,out float area,out float volume)
        {
            area = x * y*2+x*z*2+y*z*2;
            volume = x * y * z;
            Console.WriteLine("面积为:" + area);
            Console.WriteLine("体积为:" + volume);
        }

在主函数里调用:

float return01;
float return02;
mt.Area(2, 2, 2,out return01,out return02);

输出结果为:

面积为:24
体积为:8

第三题

写一个方法,可以将数组按a[0]-a[1]+a[3]+a[4]...的格式返回结果,在main方法中调用该方法。(使用params)

在MathTool里面添加一个Sum方法:

public void Sum(params int[] a)
        {
            int sum = 0;
            for (int i = 0; i < a.Length; i++)
            {
                if (i % 2 == 0)

                    sum += a[i];
                else
                    sum -= a[i];
            }
            Console.WriteLine(sum);
        }

在主函数里面调用:

 mt.Sum(1,2,3,4,5);

输出结果为:3

将三个题整合一下:

using System;

namespace dMethParameteris_homework
{
    #region 第一题
    class MathTool
    {
        public void SetNum(ref int  max,ref int mid,ref int min)
        {
            if (max < mid)
                max = mid;
            if (max < min)
                max = min;
            if (mid < min)
                mid = min;
            Console.WriteLine("最大值:" + max, "中间值:" + mid, "最小值:" + min);

        }
        public void Area(float x,float y,float z,out float area,out float volume)
        {
            area = x * y*2+x*z*2+y*z*2;
            volume = x * y * z;
            Console.WriteLine("面积为:" + area);
            Console.WriteLine("体积为:" + volume);
        }
        public void Sum(params int[] a)
        {
            int sum = 0;
            for (int i = 0; i < a.Length; i++)
            {
                if (i % 2 == 0)

                    sum += a[i];
                else
                    sum -= a[i];
            }
            Console.WriteLine(sum);
        }
    }
    #endregion
    class Program
    {
        static void Main(string[] args)
        {
            #region 第一题
            //定义三个整型变量a,b,c要求将最大值赋值给a,中间值赋值给b,最小值赋值给c,(要求使用ref)
            MathTool mt = new MathTool();
            int a=1, b=2, c=3;
            mt.SetNum(ref a,ref b,ref c);
            Console.WriteLine(a );
            #endregion
            #region 第二题
            //用一个方法计算矩形的面积和体积,并同时返回他的面积和体积。
            float return01;
            float return02;
            mt.Area(2, 2, 2,out return01,out return02);
            #endregion
            #region 第三题
            //写一个方法,可以将数组按a[0]-a[1]+a[3]+a[4]...的格式返回结果,在main方法中调用该方法。
            mt.Sum(1,2,3,4,5);
            #endregion
        }
    }
}

刚开始学习C#,有什么可以改正的请帮忙看一看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值