一周学会C#(函数一)

来源:互联网 发布:杜哈没积分怎么编程 编辑:程序博客网 时间:2024/05/16 08:56

一周学会C#(函数一)

C#才鸟(QQ:249178521

1.前言

·        C#不支持全局函数

w       所有的函数必须在类内部声明

·        无源文件和头文件之分

w       所有的函数必须声明的时候被实现

int NotAllowed()      //错误,C#没有全局函数

{

            ...

}

sealed class Methods

{

    void Inline()

    { ...

    }

    void Error()

    { ...

    };                   //错误,函数不能有结尾分号

    int AlsoError();  //错误,函数必须声明的时候被实现

}

Java一样,C#不允许有全局函数。所有的函数必须在类或结构内实现。函数是类或结构的成员,函数也被称为方法。

C#允许可以在类的声明中加入结尾分号,例如:

              sealed class Methods

       {

              ...

       };//可以有结尾分号

但是,C#不允许在函数的声明中加入结尾分号,例如:

              sealed class Methods

       {

              void NotAllowed() {...} ; //错误,函数不能有结尾分号

       }

2.声明函数

·                    函数参数列表

w        各参数以逗号隔开

w        参数必须命名

w        没有参数时括号不能省略

sealed class Methods

{

void Error(float) //错误,参数没有命名

    { ...

    }

    void NoError(float delta)

    { ...

    }

 

 int Error(void) //错误,无参数时不允许使用void

    { ...

    }

    int NoError()

    { ...

}

}

3. 值型参数

·                    一般的函数参数是实参的一个拷贝

w        实参必须预先被赋值

w        实参可以是常量类型

sealed class ParameterPassing

{

    static void Method(int parameter)

    {

        parameter = 42;  

    }

    static void Main()

    {

        int arg = 0;

        Console.Write(arg); //结果为0

        Method(arg);

        Console.Write(arg); //结果为0

    }

}

(注:为了叙述的方便,以后所出现的“参数”这个词均指函数参数,也就是所谓的形参)

没有被ref out修饰的函数参数是一个值型参数。值型参数只有在该参数所属的函数被调用的时候才存在,并且用调用时所传递的实参的值来进行初始化。当函数调用结束时,值型参数不复存在。

只有被预先赋值的实参才能被传递给值型参数,例如:

       int arg;    // arg没有被赋初值

       Method(arg);//错误,实参必须预先赋初值

传递给函数的实参可以是纯粹的数而不是变量,例如:

              Method(42);

       Method(21 + 21);

 

 

原创粉丝点击