zoukankan      html  css  js  c++  java
  • C#函数过载

    什么是method?函数也。overloading,是过载的意思。为什么会过载呢?因为一个函数,本来后面拖着两个参数的,现在拖着三个参数了,那不是过载是什么?

    为什么同一个函数,后面可以跟两个参数,也可以给跟三个甚至是更多个参数呢?因为,C#是一个强类型语言。而一个函数的类型的,是由返回值和参数情况决定的,参数情况不一样,那么函数就是不同的。这一点可以参考函数代表(delegate)的声明格式,它都是要把返回值和参数情况都明确的。既然是不同的函数,定义可以定义,使用也可以使用。这样有一个好处,就是可以造成默认参数情况的假象。

    比如我默认的Decrease()函数是减一。那么我就只要传递一个被减数参数就可以了。但是非默认情况下,可以自己设置一个减去的数 ,这样,就需要两个参数了。因此,我可以设置名字相同的两个函数(本质是不同的)。一个只有一个被减数参数,一个含被减数和减数两个参数。那么当只有一个参数的时候,表现的就像是默认的一样的。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    using System;
    namespace DefaultDecrease
    {
    class Program  {
        static int  Decrease(int dividend)
            {
            return dividend --;
             }
        static int Decrease(int dividend,int divider)
            {
            return  dividend - divider;
             }
         
        public static void Main(string[] args)
            {
            int result;
            result = Decrease(10);//一个参数,默认减一.
            Console.WriteLine(result);
            result = Decrease(10,5);//两个参数,就是被减数减去减数啦,哈哈
            Console.WriteLine(result);
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
            }
                    }
    }

    对method overloading的理解,是建立在对C#强类型的特性知道的情况的。

  • 相关阅读:
    linux docker常用命令
    angular input输入框自动消除前后空格
    angular 一览数据全选符合条件数据
    linux MySQL出现错误的一些常见解决办法
    linux crontab定时任务一些命令
    Linux下定时访问指定url地址
    直接打印对象的结果
    java中变量的作用域
    请求转发后地址栏显示传入的值,页面不显示的原因
    String不是基本数据类型,但是
  • 原文地址:https://www.cnblogs.com/ganbing/p/6183730.html
Copyright © 2011-2022 走看看