温故而知新(4)——C#函数

1.简单的函数
关键字:static,void
如果有返回值,必须在函数结束前return 返回值
参数一定要匹配
数组也可以作为参数传递,数组中的元素类型一致。

 public static void ask(params int[] arg)
        {
            //todo..
        }

2.引用参数和值参数
ref,out都是用来修饰参数的。
ref和out都可以在方法中改变参数的值。
ref需要在方法调用前初始化好参数,而out不用。
如果使用out,必须在方法中初始化out修饰的参数。

static void Main(string[] args)
        {
            int a = 5;
            int b;
            Console.WriteLine(plus(ref a,out b));
            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.ReadKey();
        }


        public static int plus(ref int a,out int b)
        {

            b = 4;
            a = a - 5;       
            b = b - 1;
            return 10;
        }

输出:
这里写图片描述
可见,参数在经过函数调用后,已经改变了初始的值。

3.参数的作用域
在函数中,给定的变量有一个作用域,在这个作用域外是不能访问该变量的。比如:


        {
            string mystring = "456";
            Console.WriteLine(mystring);
            Console.WriteLine(Program.mystring);
            Console.ReadKey();
        }

main()方法中的mystring变量只能在该方法中使用。
如果参数定义在函数内部的,称为局部变量。还有一种叫全局变量,如下:

        static string mystring="123";
        static void Main(string[] args)
        {
            string mystring = "456";
            Console.WriteLine(mystring);
            Console.WriteLine(Program.mystring);
            Console.ReadKey();
        }

可见在main()函数之外已经定义了一个mystring参数,在main函数中可以直接调用。如果全局变量和局部变量名称相同,则用program.mystring来表示全局变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值