黑马程序员.Net学习笔记 04篇.方法、参数、返回值

来源:互联网 发布:创建网络连接 编辑:程序博客网 时间:2024/06/05 17:38

----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

方法:

方法是一块具有名称的代码。可以使用方法的名称从别的地方执行代码,也可以把数据传入方法并接受数据输出。

【访问修饰符】 【static】 返回值类型 方法名([参数])

  {

  方法体;

  }

注意:方法一般定义在类中。

          对于静态方法,在同一个类中可直接调用。

在方法中定义的变量为局部变量,其生命周期在大括号内。


参数:

class Program    {        static void Main(string[] args)        {            int a = 3;            Test(a);            Console.WriteLine(a);            Console.ReadKey();        }        public static void Test(int number) //形参        {            number = number + 5;            Console.WriteLine(number);        }    }

返回值:

一个方法只能有一个返回值;一旦一个方法有了返回值,就必须通过return返回一个值,并且这个值要与它的返回值类型是相同的。


out和ref

out参数:往外返回一个值
 例:   int number;
          int result=Test(out number);
          Console.WriteLine(number);
           Console.WriteLine(result);
       public static int Test( out int a)
        {
            a = 200;
            return a;
        }
此时number=200,result的=200

在方法的参数面前加out,那么传参数的时候,也必须在number前加out,表明这个参数是传入的,而不是传出的。

在方法中对于有out修饰的参数,在使用之前必须赋值

若参数是以out形式传入的,那么在传入前可不赋初值


       例:写一个方法,计算一个int类型数组中的每个元素的总和、最大值以及最小值

            int[] score = { 11, 22, 44, 1, 2, 4, 99, 66 };            int ma;          //接收返回来的值            int mi;            int sum = compute(score, out ma, out mi);   //传递一个数组名            Console.WriteLine("最大值是{0},最小值是{1},和为{2}",ma,mi,sum);                  public static  int compute(int[] nums,out int max,out int min)                //nums表示传入的数组,max和min是被传出的值          {              max=nums[0]; //被out修饰的参数,必须先赋值              min=nums[0];              int sum=0;              for(int i=0;i<score.Length;i++)               {                   if(nums[i]>max)                   {                      max=nums[i];                    }                   if(nums[i]                    {                      min=nums[i];                    }                   sum+=nums[i];                }            return sum;    //返回sum

 ref参数:它是双向的既能够往外返值,也能往里边传值,在方法中可以赋值也可以不赋值
在传参数过程中,如果参数有out和ref,那么改变方法中的参数变量的值,调用者中方法的变量的值也会相应随之改变






----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

原创粉丝点击