黑马程序员--函数

 

方法(函数):  函数就是将一堆代码进行重用的一种机制。函数就是一段代码,这段代码可能有输入的值(参数),可能会有返回值。一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。

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

注意:1)方法要定义在类中。

2)如果方法没有返回值,则返回值类型写void。

3)如果方法没有参数,小括号不能省略。

 

Console.ReadLine();就是一个有返回结果的函数;

Console.WriteLine(“Hello”);就是一个有执行参数的函数,只有告诉WriteLine被打印的数据它才知道如何打印;

int i=Convert.ToInt(32)(“22”);则是一个既有参数又有返回值的函数。

有了函数写代码就像拼积木,C#中的各种各样的技术其实就是通过for、if等这些基础的语法将不同的函数按照一定的逻辑组织起来。

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

            {

              方法体;

}

在方法名后面的括号内定义变量,叫做定义这个方法的参数。用于接收调用者传过来的数据。

 static int max(int i1, int i2)
        {
            if (i1 > i2)
            {
                return i1;
            }
            return i2;
        }

这样就定义了一个方法。

注意:如果一个方法一旦有参数,那么调用者就必须传参数,并且传参数的的个数、类型与对应位置上的类型必须一致。  当调用者想访问我们方法中的变量时,可以通过返回值返回。

  一个方法只能有一个返回值。

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

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

通过参数返回值(out

实现步骤:1)在方法的参数类型前加out,那么传参数的时候,也必须在number(变量名)前加out表明这个参数不是传入的,而是用来接收传出值的。   2)如果参数是以out形式传入的,那么在传入前可以不赋初值。   3)在方法中对于由out修饰的参数,必须在使用前赋值,即使不使用也要赋值。

out用于传出值,ref可以理解为双向的,既可以传入,也可以传出。

在传参数的过程中,如果参数有out或ref修饰的话,那么改变方法中的参数变量的值,调用者方法中变量的值也会相应改变。

 

命名规则:方法名开头大写,参数名开头小写,参数名、变量名要有意义

方法的调用,对于静态方法(由static修饰的),使用时(类名.方法名();)。如果在同一个类中,直接写名字调用就行了

return可以立即退出方法。

以下是函数练习实例

   class Program
    {
        static void Main(string[] args)
        {
            string[] names={"tom","jerry","lucy"};
            string s=Join(names,"|");
            Console.WriteLine(s);
            Console.ReadKey();

        }
        static string Join(string[] strs,string seperator)
        {
            string result="";
            for(int i=0;i<strs.Length-1;i++)
            {
                result=result+strs[i]+seperator;
            }
            if(strs.Length>0)
            {
                result=result+strs[strs.Length-1];
            }
            return result;
        }
    }

 

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

当被调用者想得到调用者方法中的变量时,则可以让调用者通过参数的形式给被调用者。

string s=”123”;  int i=Convert.ToInt32(s);等价于int i=Int.Parse(s);

 

一个变量一旦定义在方法外,类的里面,就叫做类的字段。这个变量就可以被本类的所有方法所访问,但是要注意,静态方法只能访问静态字段(由static修饰的变量)。

由const修饰的常量不能定义为静态的。

所有方法都可以访问常量。

posted @ 2013-05-18 13:57  流浪的雁  阅读(185)  评论(0)    收藏  举报