C#的具名参数与可选参数

最近在学习PHP ,在学习到重载这个地方的时候,想到了C# 4.0 之后添加的新功能:具名参数 和可选参数(可选参数,参数数组)

实例

//  给方法的参数一个默认值 ,便可以  可选参数调用
 static void ParamFun(int x=0,int y=0 ,int z =0)
 {
     Console.WriteLine(string.Format("{0},{1},{2}",x,y,z));
 }

// 方法重载 : 参数数组
 static void ParamFun(params int[] p)
 {
     foreach (var i in p)
     {
         Console.WriteLine(i);
     }
 }
// 客户端调用
 static void Main(string[] args)
 {
     ParamFun(y:2);
     ParamFun(1, 2, 3);
 }

语法

以下为参考实例:

//声明一个M方法,其中第二个,第三个参数是 包含默认值 的选用参数。

public void M (int x,int y = 5,int z= 7);

//声明方法与调用方法与javascript 简直如出一辙

M(1,2,3); // 标准调用法
M(1,2); // 忽略Z参数等用于 调用M(1,2,7),调用了Z的默认值
M(1);//同理 ,M(1,5,7)

C# 4.0 虽然支持具名参数 与选用参数,不过不允许你这样写:
M(1, , 3)//C# 不允许忽略参数输入

C# 4.0 具名参数与选用参数 语法如下:
M(1,z:3); //想忽略第二个参数,那第三个参数就用具名参数的写法
M(x:1,z:3); //也可全部使用具名参数的写法。
M(z:3,x:1); //传入的具名参数 不需要考虑顺序

补充:

PHP 语法:

ParamFun(1,'WYS');

function ParamFun($x=0,$y=0,$z=0){
    echo $x."</br>";
    echo $y."</br>";
    echo $z."</br>";
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值