【C#】函数重载

函数重载

**简介:**函数名相同,函数语句块相同,但是函数传入的参数的数量不同,或者数量相同,类型及顺序不同。

作用:

  1. 命名一组相同功能的函数,减少函数名的数量,减少命名空间的污染;

  2. 提高程序的可读性。

应用:

  1. 函数重载与函数返回值类型无关;

  2. 函数重载与参数名无关。

实例:

//参数数量不同
static int CalcSum(int a,int b,int c) {  return a + b + c; }
//参数数量相同,类型不同
static float CalcSum(float a,int b) { return a + b; }
//参数数量不同,ref、out不同,加上ref或者out也表示传入的参数是不同的类型
static int CalcSum(ref int a,int b) { return a + b; }
//数量相同,类型顺序不同
static float CalcSum(float a,float b) {  return a + b; }

练习题:

namespace 函数重载
{
    internal class Program
    {
        //练习题一:请重载一个函数,让其可以比较两个int或两个float或两个double的大小,并返回较大的那个值
        static int CompareNum(int a,int b) 
        {
            int num;
            if (a >= b) num = a;
            else num = b;
            return num;
        }

        static float CompareNum(float a, float b)
        {
            float num;
            if (a >= b) num = a;
            else num = b;
            return num;
        }

        static double CompareNum(double a, double b)
        {
            double num;
            if (a >= b) num = a;
            else num = b;
            return num;
        }

        //请重载一个函数,让其可以比较n个int或n个float或n个double的大小,
        //并返回最大的那个值。(用params可变参数来完成)
        static int ComparenNum(params int[] a) 
        {
            int num = a[0];
            for (int i = 0; i < a.Length; i++) 
            {
                if (num < a[i]) 
                { 
                    num = a[i]; 
                } 
            }
            return num;
        }

        static float ComparenNum(params float[] a)
        {
            float num = a[0];
            for (int i = 0; i < a.Length; i++)
            {
                if (num < a[i])
                {
                    num = a[i];
                }
            }
            return num;
        }

        static double ComparenNum(params double[] a)
        {
            double num = a[0];
            for (int i = 0; i < a.Length; i++)
            {
                if (num < a[i])
                {
                    num = a[i];
                }
            }
            return num;
        }

        static void Main(string[] args)
        {
            CalcSum(1,2);
            //练习题一:     
            CompareNum(1.02312,2);
            Console.WriteLine(CompareNum(1, 2));
            Console.WriteLine(CompareNum(3.02312f, 2));
            Console.WriteLine(CompareNum(5.02312, 2));
            //练习题二:
            Console.WriteLine(ComparenNum(1,2,3,4,5,6));
            Console.WriteLine(ComparenNum(1.0f,2,3,4,5,6,20.2222f));
            Console.WriteLine(ComparenNum(1.0,2,3,4,5,6,20.2));
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值