C#基础(四)

1、重载:C#使用两种方式来实现静态多态。

  函数重载:这个方法允许为两个或更多函数使用同样的名字。函数的每个重新定义必须使用不同的参数类型、参数顺序或多个参数。

  操作符重载:这个方法允许用户定义的类型例如结构和类,为使它们的对象易于操作而使用重载操作符。

2、参数声明方法:

  值传递:值传递的参数在内存中创建一个副本

  引用:引用传递的参数不在内存中创建变量的独立副本。引用参数存储传递的数据成员的内存地址。

  输出:输出参数用于将值从方法中传递出来。

3、重载原则:有out|ref关键字的方法可以与无out和ref关键字的方法构成重载;但如想在out和ref间重载,编译器将提示:不能定义仅在ref和out的上的方法重载

   关于调用前初始值:

     原则:ref作为参数的函数在调用前,实参必须赋初始值。否则编译器将提示:使用了未赋值的局部变量;

             out作为参数的函数在调用前,实参可以不赋初始值。

   关于在函数内,引入的参数初始值问题

     原则:在被调用函数内,out引入的参数在返回前至少赋值一次,否则编译器将提示:使用了未赋值的out参数;

               在被调用函数内,ref引入的参数在返回前不必为其赋初值。

   总结:C#中的ref和out提供了值类型按引用进行传递的解决方案,当然引用类型也可以用ref和out修饰,但这样已经失去了意义。

 

posted @ 2015-04-15 16:02  Yida_婷婷  阅读(163)  评论(0编辑  收藏  举报