函数

c#函数的改进:表达式体方法,使用=>(lambda箭头)实现

static double Mutiply(double val1, double val2)
{
     return val1 * val2;
}

static double Mutiply2(double val1, double val2) => val1 * val2;

参数:形参和实参

形参:void add(int a, int b),这里的a和b就是形参。 

实参:当你进行函数调用的时候,add(1, 2),这里的1和2就是实参。

这是一个包含数组参数的函数

static int SumVals(int[] vals)
        {
            int sum = 0;
            foreach (var val in vals)
            {
                sum += val;
            }
            return sum;
        }

这是一个使用了参数数组的函数,注意与上面进行对比

static int SumVals2(params int[] vals)
        {
            int sum = 0;
            foreach (var val in vals)
            {
                sum += val;
            }
            return sum;
        }

参数数组:其实就函数定义的效果部分来说,结果是一样的,区别在于调用这个函数的时候,形参就不需要定义数组来传值了,可以传不限制的参数,注意,这种params的参数有且只有一个,切必须是最后。

调用的区别:

SumVals(new int[] { 1, 2 });//参数为数组
SumVals2(1,2);//数组参数(原谅不知道如何翻译)

引用参数和值参数

值参数:就是平时所使用的参数,这个实参是不会改变的。

引用参数:就像对这个实参添加了指针后,这个实参进入函数体里面,如果发生改变,那么这个实参是会改变的,通过在参数前面添加ref 或者out来定义。

ref和out的区别:本质都是把这个实参和在函数里面改变绑定在一起了,不同的是,out必须是未赋值的,ref可以赋值可以不赋值,所以out通常用于一个新的结果,而ref则是反映这个参数的变化。

Main()函数

程序的入口函数,有一个参数是string[] args,可以通过在vs的项目属性-调试-命令行参数,预先设定从而获取这些参数。

也可以通过命令行来添加:

结构函数

定义在结构类型里面的方法

struct route
    {
        public Orientation direction;
        public double distance;

        public double routeMethod(double pa) => distance + pa;
    }

函数的重载:

是指函数的参数名称相同,签名不一样的函数,函数的返回类型不是签名

数量不一样,类型不一样,就可以重载,值类型和引用类型也可以(用ref和out),但是顺序不一样的参数不算。

委托:

和函数很类型的一种引用类型,没有方法体内容,和方法绑定后就可以代替那个方法去调用了。(delegate)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值