• 黑马程序员-------.net基础知识五


    方法(函数)

    作用:用来重复代码,当我们在一个过程中反复的写了同样的代码,一般情况下,我们就可以把需要重复写的代码定义在方法中,用的时候只需调用即可

    语法:

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

      {

      方法体;   //一般情况下,方法定义在类中。

      }

    关于方法的调用:如果是在静态方法(static修饰的)则使用,类名.方法名();在类中调用本类的方法,可以只写方法名();

    注:[ ]中的都可以省略不写,但是用处不同,当没有写访问修饰符时,默认为private。当没有返回值时,返回值类型用void代替。

    例:判断用户输入的是否为数字的方法。

    1. public static int ReadInt() //定义一个返回值类型为int的ReadInt方法。  
    2.   {  
    3.       int num = 0;  
    4.       do  
    5.       {  
    6.           try  
    7.           {  
    8.               num = Convert.ToInt32(Console.ReadLine());//接受用户输入的数字  
    9.               return num; //当用户输入合法,返回值  
    10.           }  
    11.           catch   
    12.           {  
    13.               Console.WriteLine("输入有误,请重新输入!");//当用户输入有误时,输出这句话。  
    14.           }  
    15.       }  
    16.       while(true);  
    17.   
    18.   }   

    局部变量:在方法中定义的变量叫局部变量,其作用域从定义开始,到其所在大括号结束为止。

    参数(形式参数)

    例:

    1. public static void PrintSum(int x,float y) //定义了一个为int类型的变量x和一个float类型的变量y  
    2.  {·····}  

    注:形参是声明在方法的参数列表中的,而不是方法体中的本地变量。如果一个方法一旦有一个参数,那么调用者就必须传参数,并且传参数的个数与对应位置上的类型须一致

    定义数组参数的语法:

        [访问修饰符] [static] 返回值类型 方法名(params  int [ ] 数组名)

    例:

    1. public static void Sum(params int [] sscore)  

    返回值

    方法可以向调用代码返回一个值,返回的值被插入到调用代码中发起调用的表达式所在的位置。

     注:要返回值,方法必须在方法名前声明一个返回类型,如果方法不返回值,他必须声明void返回类型。

    例:

    1. int number(){...} //定义了一个需要返回int类型的方法。  
    2. void number(){...}//定义了一个不许要返回值的方法。  

    而声明了有返回类型的方法则须使用return来返回值。

    例:

    1. //写一个让用户判断y或n的方法。  
    2.        public static string ReadAnswer()//定义一个返回值为string的ReadAnswer的方法。  
    3.        {  
    4.            string answer = "";  
    5.            do  
    6.            {  
    7.                answer = Console.ReadLine();   
    8.                if (answer != "Y" && answer != "N")  
    9.                {  
    10.                    Console.WriteLine("你的输入有误请重新输入!");  
    11.   
    12.                }  
    13.   
    14.            }  
    15.   
    16.            while (answer != "Y" && answer != "N");//如果用户输入的不是Y或者N则一直循环提示,如果是Y和N则跳出循环。  
    17.            return answer; //返回值。  
    18.        }  

    方法的重载

    一般在同一个类中,方法名相同,并且方法的参数的个数不同或者对应位置上的类型不同,才能构成方法的重载。

    注:方法重载和返回值没有关系。

     例:

    1. public static void SayHello(string name )  
    2. {  
    3.     Console.WriteLine("我是{0}",name);  
    4. }  
    5. public static void SayHello(int age)   
    6. {  
    7.     Console.WriteLine("我今年{0}岁了。",age);  
    8. }  

     

     

     out 和ref

     方法只能返回一个值,当需要返回多个值的时候,我们就要用利用out和ref来返回多个值.

    注意:使用ref前必须对变量赋值,out不用。
    out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。

    例:

    [csharp] view plaincopyprint?
     
      1.  static void outTest(out int x, out int y)  
      2.   {  
      3.      //离开这个函数前,必须对x和y赋值,否则会报错。    
      4.        //y = x;     
      5.      //上面这行会报错,因为使用了out后,x和y都清空了,需要重新赋值,即使调用函数前赋过值也不行    
      6.           x = 1;   
      7.         y = 2;  
      8.   }  
      9. static void refTest(ref int x, ref int y)   
      10.  {  
      11.     x = 1;  y = x;   
      12.  }      
      13.  static void Main(string[] args)  
      14.   {  
      15.     int a,b;  //out使用前,变量可以不赋值   
      16.      outTest(out a, out b);  
      17.     Console.WriteLine("a={0};b={1}",a,b);   
      18.     int c=11,d=22;    
      19.     outTest(out c, out d);  
      20.     Console.WriteLine("c={0};d={1}", c, d);  
      21.         
      22.     int m,n;    
      23.     //refTest(ref m, ref n);     
      24.     //上面这行会出错,ref使用前,变量必须赋值    
      25.       int o=11,p=22;   
      26.     refTest(ref o, ref p);   
      27.     Console.WriteLine("o={0};p={1}",o,p);  
      28. }  
  • 相关阅读:
    视频4K技术的解读
    C语言野指针
    获取一个整数所有的质因数(C语言实现)
    乘法口诀表(C语言实现)
    完全平方数(C语言实现)
    Socket网络编程系列教程序
    求1-2/3+3/5-4/7+......49/97和(C语言实现)
    反射
    Cloneable接口和Object的clone()方法
    Comparable和Comparator的区别
  • 原文地址:https://www.cnblogs.com/cenyuxin/p/3361626.html
Copyright © 2020-2023  润新知