【C#】方法(函数)

方法和函数

嘛叫方法和函数嘞?

指某个对象的行为

有什么用嘞?

减少重复的代码,提高代码的复用性

两者的区别是啥嘞?

方法一般不返回数据,而函数通常都返回数据。但一般不区分两者了,统一叫方法。

代码展示一下子呗?

方法:

public void Print()//viod表示不返回任何数据
{
   MessageBox.Show("打印所有的数据");
}

 

函数:

public int GetCount()
{
    return 100;
}

函数的参数

 

参数是啥嘞?

参数其实相当于一个值的副本。

传递副本的好处就是可以避免因误操作而影响了原值。缺陷就是会因复制而产生性能损耗。

另一个解释:函数“=sum(1,2,3)”,123就是sum函数的参数

参数的关键字是啥嘞?ref、out、params

ref是内部对外部的值进行改变,out则是内部为外部变量赋值。out一般用在函数有多个返回值的场所。

 

     //引用参数(ref):ref在使用前需要先初始化变量的值,在方法体外先初始化
         public static void RefMethod(ref int i)
         {
                i++;
         }

           //输出参数(out):out参数必须在方法体内初始化
         public static void OutMethod(out int i)
         {
              i=0;
             i++;
         }

        //可变参数(params):params后面必须跟数组,之后不允许跟任何其他参数,并且在方法声明中只允许一个params关键字
        static int addi(params int[] values)
        {
            int sum=0;
            foreach (int i in values)
            {
                sum=sum+i;
            }
            return sum;
        }  //引用参数(ref):ref在使用前需要先初始化变量的值,在方法体外先初始化
         public static void RefMethod(ref int i)
         {
                i++;
         }

           //输出参数(out):out参数必须在方法体内初始化
         public static void OutMethod(out int i)
         {
              i=0;
             i++;
         }

        //可变参数(params):params后面必须跟数组,之后不允许跟任何其他参数,并且在方法声明中只允许一个params关键字
        static int addi(params int[] values)
        {
            int sum=0;
            foreach (int i in values)
            {
                sum=sum+i;
            }
            return sum;
        }

 

备注:函数中的参数可以是任意类型,但return语句返回的类型必须与函数定义中的类型一致,否则会提示编译错误

参数的传递是啥嘞?

两两组合,可得到四种传递方式:(1)按值传递值类型(2)按值传递引用类型(3)按引用传递值类型(4)按引用传递引用类型

大多参数都是按值传递的,也就是“复制一份”。可如果有了关键字ref和out,就是按引用传递的。

函数的返回值

返回值是啥嘞?

比如有一个求和函数:a+b,那其和的值就是返回值。为啥叫返回值嘞?可以这样理解:你给计算机输入进去a,b,那计算机就会“返回”个和的值。

是不所有的函数都有返回值嘞?

非也。

可以这样理解:你去A地买东西,你如果买回东西来了,那东西就是返回值。当然了,你也可以不买东西,那也就是没有返回值。

备注:如果在函数定义中指定了返回的类型,则函数语句块中,必须包含一个return语句。如果返回判断中有多个条件,则每个条件都必须能够返回值。

使用return返回参数和使用ref返回参数有什么区别嘞?

return只是返回函数执行的结果,不改变参数值,ref是用来改变传递给函数的参数的值。通俗点,return回来的结果一般是一个新的对象,而ref是直接修改原有的已经在内存中的对象,不用重新实例化一个对象。

委托

啥是委托嘞?

委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。

委托咋创建和调用嘞?

delegate关键字是为了安全地封装方法的类型

 

 public delegate void OwnPrint(string text);//定义委托
        public void Print(string message) //定义方法
        {
            MessageBox.Show(message);
        }
        OwnPrint myprint = Print; //委托方法
        myprint("欢迎您到北京来")//实现调用

 

小结

可能有人会好奇,小编今天的“语风”咋变了嘞?悄悄告诉你,因为小编最近在追剧:《白鹿原》。有意思的不行嘞~感兴趣的可以去看看嘞~

评论 67
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

卡夫卡的熊kfk

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值