浅谈C#方法的六种参数


当前第2页 返回上一页

使用分散式传参时,编译器做如下事:

1)接受实参列表,用它们在堆中创建并初始化一个数组。

2)把数组的引用保存到栈中的形参里。

3)如果在对应的形参数组的位置没有实参,编译器会创建一个有零个元素的数组来使用。

4)如果数组参数是值类型,那么值被复制,实参不受方法内部的影响。

5)如果数组参数是引用类型,那么引用被复制,实参引用的对象可以受到方法内部的影响。

在使用数组式传参时,编译器使用你的数据而不是重新创建一个。即相当引用参数。

命名参数

上面用到的四种参数,都是位置参数,也就是说每个实参的位置必须一一对应相应的形参位置。

从.Net4.0开始,只要显示指定参数的名字,就可以以任意顺序在方法调用中列出实参,细节如下。

1.方法的声明没有什么不一样。形参已经有名字了。

2.不过在调用方法的时候,形参的名字后面跟着冒号和实际的参数值或表达式。

在调用的时候,也可以位置参数和命名参数混合使用,但是所有的位置参数必须先列出,

可选参数

可选参数是.Net4.0才加入的,在调用方法的时候可以包含这个参数,也可以省略它。

为了表明某个参数是可选的,你需要在方法声明的时候为参数提供默认值。制定默认值的语法和初始化本地变量的语法一样。

如下图

1)形参b设置成了默认值。

2)因此,在调用方法的时候只有一个参数,方法会使用3作为第二个参数的初始化。

对于可选参数的声明,有几个重要事项:

1、不是所有的参数类型都可以作为可选参数。

  1)、只要值类型的默认值在编译的时候可以确定,就可以使用值类型作为可选参数。

  2)、只有在默认值是null的时候,引用类型才可以作为可选参数来使用。

  3)、可选参数只能是值参数。

2、所有必填参数必须在可选参数声明之前声明,如果有params参数,必须在所有可选参数之后声明。

3、必须从可选参数列表的最后开始省略,一直到开头,否则会造成参数歧义。

4.若想消除参数歧义,可以结合命名参数和可选参数的特性。

如下图

本文来自 C#.Net教程 栏目,欢迎学习!

以上就是浅谈C#方法的六种参数的详细内容!

返回前面的内容

相关阅读 >>

C#中如何操作word的方法示例

.net中创建webservice服务的实例分析(图文)

C#捕获windows关机事件,在系统关机前做一些自己想做的事的示例代码

ants performance profiler(.net性能调优教程)

.net和C#有什么区别

通达oa 使用C#的socket编程来其替代原有操作的示例代码分享

C#最齐全的上传图片方法介绍

C#中的委托实例代码详解(图文)

具体介绍C#线程与线程池的区别

C#入门经典学习阶段小结(凌乱)

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...