C# 方法中 有没有可选参数 就跟javascript 一样 我想在调用的时候 可传入也可以不传入 有的话应该怎么写
3个回答
展开全部
示例1,可变参数:
public void MethodA(string a,params int[] b);
这里参数a必须,参数b可变(可变参数必须放在参数列表的最后,并且一个函数里只能有一个可变参数),调用的时候可以如下:
MethodA("text");
MethodA("text",1);
MethodA("text",1,2);
MethodA("text",1,2,3);
示例2,默认参数:
public void MethodB(string a="default text");
调用的时候可以如下:
MethodB();
MethodB("other text");
public void MethodA(string a,params int[] b);
这里参数a必须,参数b可变(可变参数必须放在参数列表的最后,并且一个函数里只能有一个可变参数),调用的时候可以如下:
MethodA("text");
MethodA("text",1);
MethodA("text",1,2);
MethodA("text",1,2,3);
示例2,默认参数:
public void MethodB(string a="default text");
调用的时候可以如下:
MethodB();
MethodB("other text");
追问
你说的前面方法是可以的 后面示例2不行 不允许有默认参数说明符 为什么会这样 我用的是vs2010
追答
示例2里的默认参数的用法,是C#4.0的新增功能,你的报错可能是由于project的属性里指定了使用.net framework 4.0之前的版本,你切换成4.0试试
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询