函数:独立完成某项功能的一个个体,有固定功能函数有 高度抽象函数。

作用:

提高代码的重用性

提高功能开发的效率

提高程序代码的可维护性

函数四要素:

  输入       输出       函数名         函数体         

函数名与函数体必不可少

表达式  (Main函数外)

public    static     返回值类型      函数名( 函数参数 )                    public  static  int   Jia10 (  int a )       //函数名最好取动词

{                                                                                        {                                                    //函数参数仅告诉需要输入的参数类型

return 返回值类型 ;              ...........................                 int b = a + 10 ;

}                                                                                                 return

}

program                                                                     ..........

int  i = 20;

int  j =program.Jia10( j ) ;               //program调用

Console.WriteLine( j );

二  返回两个值的情况

1    ref    调用外部变量,函数中对对变量的任何改变都会映射到变量本身。

例:public  static  int  test ( ref  int a ,  int  b  )

{

a = 5;

retrun  a + b ;

}

static void Main ( string [ ] arg s )

{

int i = 2 ;

int  j = 10;

int c = program.test (ref i , j )

Console.WriteLine( i );

Console.WriteLine( c );

}

输出结果 i = 5

c = 15

2 out 在函数方法中只出不进,不将值带入方法内部,但能够将内部的值带出。

例:public  static  int  test ( out  int a ,  int  b  )

{

a = 5;

retrun  a + b ;

}

static void Main ( string [ ] arg s )

{

int i = 0 ;

int  j = 10;

int c = program.test (ref i , j )

Console.WriteLine( i );

Console.WriteLine( c );

}

输出结果 i = 5

c = 15

三 函数的多种形态

1 有参数有返回值,(表达式例句)

2无参数无返回值    public static void test ()

{

Console.WriteLine( " 哈哈哈哈" );         //不论参数如何 只要调用只会输出“哈哈哈哈”

}

........

program test();

3有参数无返回   public static void test2 ( int a; int b }

{

Console.WriteLine( a+b );                 // void 声明无返回值

}

........

program test2( 10,20);

4无参数有返回值  public static  int  test3 (   )

{

return 20 ;                                //retrun 声明返回

}

........

program  test3 (    );


递归

函数体内调用本函数自身,直到符合某一条件不再继续调用。

满足条件

调用自身

有跳出反复执行过程的条件

注意事项

递归中必须存在一个循环结束的条件。

递归函数的每次调用都需要栈在存储,如果次数太多的话容易造成栈溢出。

public static void test ( int a )

{

if(a<3)

retrun;

Console.WriteLine( "这是第“+a+”层梦境" );            //递归中 retrun 声明跳出

a++

test(a);

a--

Console.WriteLine("第"+a+"层梦境醒了");

}

最新文章

  1. .net的一致性哈希实现
  2. .NET平台BigO算法复杂度备忘
  3. 使用 JSONP 实现简单的 SSO 单点登录
  4. 手机端touch事件 jquery模拟
  5. Jenkins+MSbuild+SVN实现dotnet持续集成 快速搭建持续集成环境
  6. 自定义tld标签,页面使用
  7. Jenkins+Maven+Svn搭建持续集成环境持续集成和自动部署
  8. [Hibernate] - Select/Update/Delete/Insert
  9. Linux远程文件传输
  10. SGU 165.Basketball
  11. C++封装SQLite实例&amp;lt;三&amp;gt;
  12. 基于js脚本的单机黄金点游戏
  13. java 遍历List 和 Map的几种方法
  14. 动态规划——Burst Ballons
  15. CSS自定义多个字体引用
  16. SSM框架接收处理安卓端的json数据
  17. C#部分试题实例
  18. Latex命令
  19. 网工最实用最常用的网络命令之一——Ping 命令详解(一)
  20. adb 环境配置 常用命令 总结

热门文章

  1. Ubuntu 修改环境变量
  2. 使用PerfView监测.NET程序性能(一):Event Trace for Windows
  3. sql server rdl report 如何用动态sql
  4. 实验8 LCD8*8点阵
  5. 背水一战 Windows 10 (40) - 控件(导航类): AppBar, CommandBar
  6. 19_python_反射
  7. 文件上传下载、socketserver(并发)、解读socketserver源码
  8. 教你通过Node.js漏洞完成渗透测试
  9. D13——C语言基础学PYTHON
  10. Spring框架的演变