C#编程入门_方法(函数)_7

21 篇文章 12 订阅

21篇C#博客的配套源码


什么是方法(函数)

方法是一个可以实现具体功能的有名字的代码块。


函数的作用

作用就是对代码进行重用
有重复代码的地方我们就可以使用方法。


函数的三要素

返回值 方法名 参数
怎么理解参数么?
参数就是使用外接的数据的入口
返回值就是要把该函数计算的结果告诉外界的通道。可以理解为工作汇报
方法相当于厨房 参数中就是原材料 返回值就是一盘精美的菜。


函数的声明

[访问修饰符] [static]返回值 方法名(参数)
{
语句块;
return;
}
包含代码块的花括号后面也没有分号‘;’
命名规则:方法的开头要大写,参数开头要小写,参数名、变量名要有意义
对于静态的方法有两种调用的方式
如果在同一个类中,直接写名字调用就好了,
如果不在同一个类中 类名.方法名
return 可以立即退出方法。
在定义方法的时候,括号里面的参数是形参,在方法调用的时候,括号里面传入的参数是实参。形参就是规定实参的模板,形参规定了实参的类型和个数。
方法的功能要一定要单一。不必要的额代码不要写。不要出现提示用户输入的字眼。


函数的调用格式

1.无参无返回值的
void func(void) {
xxxxx;
return;//可以省略的
}
调用格式:
func();

2.有参数无返回值的
void func2(int n) {
xxx;
return;//可以省略
}
调用格式:
func2(2);

3.有参有返回值
int add(int a, int b) {
return a+b; // return 后面的类型 要和 add前面的返回值类型一致
}
调用格式:
int ret = add(2,3);


值传递和引用传递

1.值传递

2.引用传递
3.ref和out的区别


参数的传递

  • 必选参数

    必选参数其实就是在方法声明定义形式参数的时候,只是声明了参数没有赋值。对于必选参数在方法调用的时候,传入实参的个数必须和形式参数的数量一致。


    // 可选参数
    static int GetSum(int num1, int num2)
    {
        return num1 + num2;
    }
  • 可选参数

    在方法声明的定义形式参数的时候对形式参数赋值,称为可选参数。调用带有可选参数的方法,在传递实参的时候,可填可不填。
    例如在调用下面的方法的时候,第三个参数可填写,也可以省略。如果第三个参数在调用的时候省略不填,那么就会默认的使用10,否则就会使用所填写的值

 //可选参数位于必选参数之后 
 //既有必选参数又有可选参数
 //可选参数位于必选参数之后   除非只有一个可选参数
 //有可选参数的函数或者方法  在调用的时候如果传入参数  那么可选参数的值就是实参的值  如果没有传递实参 那么就是使用在声明方法时可选参数的默认值
 static int GetSum(int num1,int num2,int num3 = 10)
 {
    Console.WriteLine("Num3 = "+num3);
    return num1+num2+num3;
 }
  • 参数数组

    参数数组就在在声明方法参数的时候,如果形式参数的类型是一个数组 在数组类型前面在加上一个params就构成了参数数组
    例如

     //在调用的时候不必选入一个数组,只要一个一个参数的去传就行,
     //可以填写任意个数的参数,
     //前提条件是,必须和形参数组中的元素的类型保持一致
    static int GetSum(params int[] arr)
    {
       return arr.Sum();
    }

方法的重载

重载的条件满足其一即可:
1.参数的类型不同
2.参数的个数不同
3.参数的顺序不同


局部变量和全局变量

1.局部变量
2.全局变量


方法的执行流程

namespace FuncDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            int ret  = Add(3, 5);
Console.WriteLine(ret);
            Console.ReadLine();
        }
        static int Add(int a, int b)
        {
            return a + b;
        }
    }
}
  1. 先编写代码,编写好之后进行编译。编译过程中会产生一个可执行文件(二进制文件)
    这时,源代码文件(.cs)可执行文件会放在硬盘上。
  2. 执行/运行可执行文件,首先会把这个二进制文件的内容拷贝到内存中的代码段,然后CUP开始执行代码中这个二进制文件的内容;CPU会从二进制文件中的main方法标号开始,调用main方法;(这时会在栈段压入一个main栈)执行main方法中的代码(从上到下)先执行第一句代码,遇到了int ret = add(3,5);调用add(3,5),这时会压push一个add方法栈,执行add里面的代码,执行中遇到return方法返回到调用的地方 add方法栈就会出栈(pop),栈会释放,会返回值给ret空间,接着执行Console.WriteLine();方法,执行完后返回调用的地方

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yy763496668

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值