方法(函数)

能够独立完成某项功能的模块
    函数的四要素:函数名、输入、输出、函数体
    函数定义、函数的调用

函数就是将一堆代码进行重用的一种机制,函数就是一段代码,这段代码可能有输入的值(参数),可能会返回值。一个函数就像一个专门做这件事的人,我们调用它来做一些事,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据叫参数,返回的执行结果就是返回值。
    例如:string a=Console.ReadLine(); 就是一个有返回结果的函数。

封装

方法(函数)的语法:
    [public] static 返回值类型 方法名([参数列表])
    {
       
    }
    public:访问修饰符,公开的,公共的,哪都可以访问。
    static:静态的
    返回值类型:如果不需要些返回值,写void;或刚开始不知道写什么返回值就先写void···
    方法名:Pascal 每个单词的首写字母都大写。其余字母小写 ,也可以叫参数名,形式上的参数,这个参数是形参;当调用函数时写的是实际参数,实参
    参数列表:完成这个方法所必须提供给这个方法的条件。如果没有参数,小括号也不能省略。

方法写好后,如果想要被执行,必须要在Main()函数中调用
    方法的调用语法:
    类名.方法名([参数]);例如:Program.GetMax();

retrun
        1、在方法中返回要返回的值。
        2、立即结束本次方法。

在Main()函数中,调用Test()函数,我们管Main()称之为调用者,管Test()称之为被调用者。 如果被调用者想要得到调用者的值:
    1.传递参数
    2.用户静态字段来模拟全局变量
    如果调用者想要得到被调用者的值:
    1、返回值
       
    2、不管是实参还是形参,都是在内存中开辟了空间的。

3、方法的功能一定要单一。
    GetMax(int n1,int n2)
    方法中最忌讳的就是出现提示用户输入的字眼。

4、方法的高级参数:out、ref、params
        1)、out参数。
        如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组。
        但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候,
        我们可以考虑使用out参数。
        out参数就侧重于在一个方法中可以返回多个不同类型的值。

2)、ref参数
        传地址,能够将一个变量带入一个方法中进行改变,改变完成后,再将改变后的值带出方法。
        ref参数要求在方法外必须为其赋值,而方法内可以不赋值。

3)、params可变参数
        将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理。
        params可变参数必须是形参列表中的最后一个元素。

5、方法的重载
    概念:方法的重载指的就是方法的名称相同给,但是参数不同。
    参数不同,分为两种情况
    1)、如果参数的个数相同,那么参数的类型就不能相同。
    2)、如果参数的类型相同,那么参数的个数就不能相同。
    ***方法的重载跟返回值没有关系。

6、方法的递归
    方法自己调用自己。
    找出一个文件夹中所有的文件。

c# 编程--方法(函数)的更多相关文章

  1. Py编程方法,尾递归优化,map函数,filter函数,reduce函数

    函数式编程 1.面向过程 把大的问题分解成流程,按照流程来编写过程 2.面向函数 面向函数编程=编程语言定义的函数+数学意义上的函数先弄出数学意义上的方程式,再用编程方法编写这个数学方程式注意面向函数 ...

  2. 函数式编程 —— 将 JS 方法函数化

    前言 JS 调用方法的风格为 obj.method(...),例如 str.indexOf(...),arr.slice(...).但有时出于某些目的,我们不希望这种风格.例如 Node.js 的源码 ...

  3. paip.函数式编程方法概述以及总结

    paip.函数式编程方法概述以及总结 1     函数式编程:函数式风格..很多命令式语言里支持函数式编程风格 1.1      起源 (图灵机,Lisp机器, 神经网络计算机) 1.2      函 ...

  4. 你所必须掌握的三种异步编程方法callbacks,listeners,promise

    目录: 前言 Callbacks Listeners Promise 前言 coder都知道,javascript语言运行环境是单线程的,这意味着任何两行代码都不能同时运行.多任务同时进行时,实质上形 ...

  5. <经验杂谈>C#中一种最简单、最基本的反射(Reflection):通过反射获取方法函数

    说起反射之前和很多用C#/.net的同仁们一样,相比于一般应用层对数据的增删改查总有点觉得深奥到难以理解.其实程序这东西,用过.实践过就很简单,我一直这么认为. 先说下概念:反射 Reflection ...

  6. 转: ES6异步编程: co函数库的含义与用法

    转: ES6异步编程: co函数库的含义与用法 co 函数库是著名程序员 TJ Holowaychuk 于2013年6月发布的一个小工具,用于 Generator 函数的自动执行. 比如,有一个 Ge ...

  7. 转: ES6异步编程:Thunk函数的含义与用法

    转: ES6异步编程:Thunk函数的含义与用法 参数的求值策略 Thunk函数早在上个世纪60年代就诞生了. 那时,编程语言刚刚起步,计算机学家还在研究,编译器怎么写比较好.一个争论的焦点是&quo ...

  8. 转: ES6异步编程:Generator 函数的含义与用法

    转: ES6异步编程:Generator 函数的含义与用法 异步编程对 JavaScript 语言太重要.JavaScript 只有一根线程,如果没有异步编程,根本没法用,非卡死不可. 以前,异步编程 ...

  9. iOS利用block实现链式编程方法(Objective-C链式编程)

    objc利用block实现链式编程方法 因为不好读.block和其他语言的匿名函数一样,很多程序员刚开始很难主动去用他. 本文描述block作为属性的实际使用,看懂block,并讲解如何利用block ...

  10. scala(一)方法&函数

    写在前面 众所周知,scala一向宣称自己是面向函数的编程,(java表示不服,我是面向bean的编程!)那什么是函数? 在接触java的时候,有时候用函数来称呼某个method(实在找不出词了),有 ...

随机推荐

  1. linux100day(day5)--编程原理和shell脚本

    通过前面的学习,我们对于linux文件系统有了一定的了解,我们接下来会初步接触编程原理和尝试编写shell脚本来实现功能. day05--编程原理和shell脚本初步认识 编程原理 在早期编程中,因为 ...

  2. linux篇之Nginx web服务器简单部署

    一.安装部署nginx 1. 部署前先对nginx介绍下别嫌BB: 如果你听说或使用过Apache软件,那么很快就会熟悉Nginx软件,与Apache软件类似, Nginx(“engine x”)是一 ...

  3. [C++] 所有该类的对象共享静态类成员变量

    问:智能指针可以对指针的引用数量进行计数,一个智能指针释放时,别的智能指针怎么知道的? 同一类的对象共享同一变量最简单的方法是静态变量: 不像普通的变量,静态成员变量是被所有类对象共享的,不同的对象可 ...

  4. mysql官网下载安装

    1.官网下载zip压缩文件 2.解压到指定文件夹 3.配置环境变量 4.新建my.ini 5.管理员权限打开cmd命令行,mysqld install mysql,mysql --initialize ...

  5. 利用 Redis 锁解决高并发问题

    这里我们主要利用 Redis 的 setnx 的命令来处理高并发. setnx 有两个参数.第一个参数表示键.第二个参数表示值.如果当前键不存在,那么会插入当前键,将第二个参数做为值.返回 1.如果当 ...

  6. Python3.5-20190529-自动登录百度

  7. APPScan安全测试工具

    1.下载IBM Security AppScan Standard.rar免费版,下载地址:https://www.cr173.com/soft/820147.html,安装完成后,配置扫描配置提示无 ...

  8. day16 python模块 正则表达式

    day16 python   一.模块     1.什么是模块         是一组功能的集合     2.模块的类型         内置模块; python提供的, 解释器自带的         ...

  9. 51nod 1384:全排列(STL)

    题目链接 记住next_permutation函数的用法,另外string在这里比char[]慢好多啊.. //#include<bits/stdc++.h> //using namesp ...

  10. delphi+mysql做的图书管理系统,怎么把mysql数据库也一起打包进去?我用的是delphi的Express组件。

    sqlconnection,sqlquery1这些组件,我连接数据库的时候是用对象编辑器里的属性进行连接的,在sqlconnection中指定了字符集utf8,有些人做的方法是利用代码连接的数据库,如 ...