老夫敲代码就是一把梭,我单说我的看法

我不管官方是怎么解释和定义的。我单说我的看法,我不要你觉得,我要我觉得!

1:为了应对项目的复杂性,函数可以将其项目中的某一个节点用函数的形式独立起来。比如,包。假如把人类看做一个程序。那么这个程序在运行中,在不同的场景是要携带不同的东西的。而这些琐碎的东西是可以丢在包里的。包里还可能有钱包、钥匙包、卡包。敲黑板,点题啊,包中用包,暗指函数可以嵌套函数。

2:为了让项目中的某一个节点具备复用性

(结合现实场景来看,你可以把他理解为U盘。)

3:函数就是方法,方法就是函数。就像数组教学篇里的索引和下标。一个意思。

函数语法-语法我会用慢慢专业的形式去表达了

<Access Specifier> <Return Type> <Method Name>(Parameter List){   //方法体}

代码模块有左右滚动条,按住不放,左右滑动即可

AccessSpecifier:

访问修饰符,决定这个方法对于其他成员的可见性。这个概念,萌新可以用钱包、银行卡来理解。钱包,你打开它,你就可以看见。银行卡,你需要去柜台操作才能看见。他们的本质一样,但是可见性不一样.

<ReturnType>

返回类型,方法可以返回一个值,约定这个方法体最终返回给调用方的数据类型,就是由返回类型决定的。比如,年轻的樵夫在过河时,不慎将一把铁斧掉入河中,河神拿了金斧、银斧、铁斧问樵夫掉落的是哪个。河神拿的三把斧子就是返回类型,类型是斧。成年人的世界,当然是全都要。

<MethodName>

很好理解,就是这个方法的名字。方法名字一般描述了这个方法具体的作用。

<Parameter List>

参数列表,需要使用括号包裹起来,可以是多个,也可以是没有。参数算是沟通程序主体和方法体内部的一个衔接,比如樵夫例子中,樵夫掉落的铁斧头。

函数在调用时只需要通过函数名字调用即可,如果函数定义了参数,需要传递与之类型相同的参数。

例子1
我们用计算器来举例子,因为基础的加减乘除运算在实际场景中是会被重复利用的。所以我们可以将其做成四个方法

​​​​​​​

class Program{    static void Main(string[] args)    {        Console.WriteLine(Add(3, 5));//调用并输出Add方法        Console.ReadKey();    }
    //定义了一个加法计算函数,    //其访问修饰符是public static    //返回类型是int    //方法名字是Add,代表这个方法是相加的方法    //参数列表中包含两个参数,numberA和numberB    public static int Add(int numberA, int numberB)    {        return numberA + numberB;    }}

上面这个例子,Add函数修饰符使用了两个。public(全局公用) 和 static(静态)

常规情况下,一个public就够了,但是这里为什么要还要使用static呢?

那是因为函数,其调用Add函数的Main标记了static(静态)。

在同一个类中,静态成员只能访问静态成员,不可以访问非静态成员。

上述代码中,在调用Add方法时,传入了3和5.

在看Add方法的内部,通过return关键字,返回了numberA + numberB

最终输出结果:8

例子2

再来讲一个嵌套函数的例子,假如要给几个员工发工资。而工资中包含底薪、提成、绩效、考勤、补助、个税、五险一金。那么运用函数是什么样的效果呢?

代码中的个税计算可能不够严谨,主要目的是为了展现函数的复用性和可嵌套的特点。

​​​​​​​​​​​​​​

class Program{    static void Main(string[] args)    {        // 汤姆的工资条:底薪、提成、绩效、考勤、补助、五险一金        decimal[] tom = { 3000, 2000, 800, 200, 100, -320 };        // 杰克的工资条:底薪、提成、绩效、考勤、补助、五险一金        decimal[] jack = { 3500, 1800, 800, -200, 100, -320 };
        Console.WriteLine("汤姆的工资:"+ ComputeSalary(tom) + "元");        Console.WriteLine("杰克的工资:" + ComputeSalary(jack) + "元");        Console.ReadKey();    }
    /// <summary>    /// 工资计算函数    /// </summary>    /// <param name="parms_salary">员工工资条</param>    /// <returns></returns>    public static decimal ComputeSalary(decimal[] parms_salary)     {        decimal salary = 0;
        salary += parms_salary[0];//加上底薪        salary += parms_salary[1];//加上提成        salary += parms_salary[2];//加上绩效        salary += parms_salary[3];//加上考勤        salary += parms_salary[4];//加上补助
        //调用计算个税的函数        salary -= PIT(salary);//扣减个税
        salary += parms_salary[5];//加上要扣除的五险一金
        return salary;    }
      /// <summary>      /// PIT 是个税英文(personal income tax)的简写      /// </summary>      /// <param name="money">税前金额</param>      /// <returns></returns>      public static decimal PIT(decimal money)      {          decimal pit = 0;          money -= 5000;//每月收入-5000的免征额度          if (money < 0) {              return 0;//不扣税          }          decimal yearMoney = money * 12;//全年应纳税所得额
          //个税计算          if (yearMoney <= 36000)//全年应纳税所得额超过36000则扣除百分之3的个税          {              pit = money * 0.03m; // 0.03后面的m是为了标记0.03是decimal类型          }          else {              pit = money * 0.1m;//扣除百分之10的个税          }
          return pit;//纳税金额      }
}

PC浏览,可以直接复制这段代码

最终输出结果

汤姆的工资:5747.00元

杰克的工资:5650.00元

我们来拆解一下例题2。

例题2中,一共三个函数。

Mian函数,控制台程序的入口点。所有代码从这里开始执行

ComputeSalary函数,用来计算工资的函数,要求传入员工的工资条作为参数。

PIT函数,用来计算指定工资金额的个税。要求将本月个人薪资作为参数传递。

上述代码在运行过程中,会先调用Mian函数,开始执行程序,其后通过调用ComputeSalary函数传入工资条来计算工资,在ComputeSalary函数中,又调用PIT函数来计算要扣减的个税。最终返回了员工工资。

其实函数还分为很多类型。

比如构造函数,全局函数,静态全局函数等等。

这里按下不表,萌新先理解最基础的函数运用即可。其他的会在之后的文章中一一讲到。

[C#入门] 函数 | 方法相关推荐

  1. java函数方法详解(简单易懂)

    方法(函数) 函数的组成是: 访问修饰符 返回值 函数名(形式参数) {函数内容; } 更多java函数方法详解视频课程学习地址:https://ke.qq.com/course/149432  有技 ...

  2. js中函数,方法,事件对比区分,什么是方法,什么是函数

    微信小程序开发交流qq群   581478349    承接微信小程序开发.扫码加微信. 正文: 简单的理解:函数是运行在本地的,方法是公用的.  事件是开关,通过某某事件触发某个函数 通常命名规范 ...

  3. C语言题解:用二分法思想求解10个元素中某个元素的下标(包含函数方法)

    算法思想:用左下标和右下标之和除二得出中间下标值,再通过与所求元素比较,缩小范围,最后实现左下右下标相等,即找出所求下标.代码实现如下: #include <stdio.h> int ma ...

  4. TypeScript基础入门 - 函数 - 简介

    2019独角兽企业重金招聘Python工程师标准>>> 转载 TypeScript基础入门 - 函数 - 简介 项目实践仓库 https://github.com/durban89/ ...

  5. Python列表函数方法

    Python列表函数&方法 Python包含以下函数: 序号 函数 1 cmp(list1, list2) 比较两个列表的元素 2 len(list) 列表元素个数 3 max(list) 返 ...

  6. Postman:Postman简介、安装、入门使用方法详细攻略

    Postman:Postman简介.安装.入门使用方法详细攻略 目录 Postman简介 Postman安装 Postman入门 1.图文教程 1.1.get案例 1.2.post案例 1.3.get ...

  7. 全面讲解Python列表数组(三)列表数组类型的内置函数方法

    列表数组类型的内置函数方法 这里有一个列表 list1[1,2,3,4,1,5,6,7,8,9] 一, count() list1.count(1) 2 作用是计算列表一个元素出现的次数; 二. in ...

  8. thinkphp模版调用函数方法

    原文:thinkphp模版调用函数方法 {变量|函数1|函数2|函数3=参数1,参数2,参数3,###} ###为第4个参数,代表变量替换为第4个参数 举例: {$username|substr=0, ...

  9. mysql存储过程大于小于_mysql5.0存储过程操作符知识_函数方法[Mysql学习]

    mysql存储过程基本函数 一.字符串类 CHARSET(str) //返回字串字符集 CONCAT (string2  [,... ]) //连接字串 INSTR (string ,substrin ...

最新文章

  1. 17 Java面试之css
  2. 我的2019春招(前端暑期实习)记录
  3. 修改session的存储机制
  4. 微信公众号回调java_处理微信公众号消息回调
  5. python 计算过程图片_[Python图像处理]九.图像形态学相关运算
  6. css规则的样式构成,Css 基本的规则写法
  7. 可以使用中文作为变量名_次氯酸可以作为伤口消毒使用吗?
  8. vue报错:dependencies were not found: * element-ui in ./src/main.js * element-ui/lib/theme-chalk/inde
  9. jquery ui仿腾讯web qq界面desktop酷炫特效
  10. Golang学习(10)——bufio包
  11. 孙鑫-MFC笔记七--文件与注册表
  12. Basic knowledge about python
  13. 塞班S40手机内存出现乱码无法删除的解决办法
  14. 从零开始编写minecraft光影包(7)基础水面绘制
  15. 网络空间安全竞赛D模块解析
  16. channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no
  17. 6. unity之脚本
  18. 彩色激光同轴位移计在智能手机和平板电脑的应用
  19. 透镜畸变和畸变校准(OpenCV)
  20. 职称计算机ppt教程,职称计算机考试WPS教程:幻灯片格式的设置

热门文章

  1. 计算机屏幕有条线,为什么电脑屏幕上有条线
  2. 翼龙老域名扫描软件 V2.4版本
  3. Latex中IEEEtran中参考文献中斜体问题
  4. 图像处理中“灰度级数”是什么?(灰度值)(位深度)(1bit=1位)
  5. 中国大学生计算机设计大赛英语,中国大学生计算机设计大赛2018.pdf
  6. Matlab论文插图绘制模板第78期—进阶词云图
  7. win10中用命令行打开画图
  8. 计算机专利英语笔译,基于Trados2014的专利翻译实践报告-英语笔译专业论文.docx...
  9. Merriam-Webster‘s Vocabular Builder ( BELL )
  10. 王者荣耀购买装备----笔记