标签:
1、重载:C#使用两种方式来实现静态多态。
函数重载:这个方法允许为两个或更多函数使用同样的名字。函数的每个重新定义必须使用不同的参数类型、参数顺序或多个参数。
操作符重载:这个方法允许用户定义的类型例如结构和类,为使它们的对象易于操作而使用重载操作符。
2、参数声明方法:
值传递:值传递的参数在内存中创建一个副本
引用:引用传递的参数不在内存中创建变量的独立副本。引用参数存储传递的数据成员的内存地址。
输出:输出参数用于将值从方法中传递出来。
3、重载原则:有out|ref关键字的方法可以与无out和ref关键字的方法构成重载;但如想在out和ref间重载,编译器将提示:不能定义仅在ref和out的上的方法重载
关于调用前初始值:
原则:ref作为参数的函数在调用前,实参必须赋初始值。否则编译器将提示:使用了未赋值的局部变量;
out作为参数的函数在调用前,实参可以不赋初始值。
关于在函数内,引入的参数初始值问题
原则:在被调用函数内,out引入的参数在返回前至少赋值一次,否则编译器将提示:使用了未赋值的out参数;
在被调用函数内,ref引入的参数在返回前不必为其赋初值。
总结:C#中的ref和out提供了值类型按引用进行传递的解决方案,当然引用类型也可以用ref和out修饰,但这样已经失去了意义。
标签:
原文地址:http://www.cnblogs.com/Yida-Tingting/p/4428782.html