c# 能像java那样传递不定数量的参数吗?

比如java中函数的参数定义为(String...strs)这样!!!!!!!!!... 比如java中函数的参数定义为(String... strs) 这样!!!!!!!!! 展开
 我来答
merlindlut
2012-11-27 · TA获得超过422个赞
知道小有建树答主
回答量:945
采纳率:0%
帮助的人:410万
展开全部
这个不可以的,因为定义一个方法,其参数个数必须确定。
但是可以这样解决,你将不确定的参数都封装在一个类中,给你调用的方法传一个这个类的实例,这样使用不确定参数时,就可以了
追问
那传一个object数组 ~如何?
追答
arrayList数组更好!!
wh猎人
推荐于2016-06-27 · TA获得超过1125个赞
知道大有可为答主
回答量:1157
采纳率:89%
帮助的人:665万
展开全部

支持的,例子如下:

// 下面的函数中dyncParams就是动态参数
void dynamicParams(string name, params int[] dyncParams){...} 
// 使用函数
dynamicParams("a",1);  
dynamicParams("a",1,2,3);

除此之外,c#还至此命名参数和可选参数,例子如下:

// 定义三个参数,其中p2和p3有默认值
void optionParams(string p1, string p2 = "p2", bool p3 = true){ ... }
// 使用函数
optionParams("p1value");          // 省略了p2和p3参数
optionParams("p1value","v2");       // 省略了p3参数
optionParams("p1value",p3:false,p2:"v2"); // 注意:参数顺序与声明不同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨兰吟G
2012-11-27 · TA获得超过1082个赞
知道小有建树答主
回答量:282
采纳率:100%
帮助的人:448万
展开全部
可以的,Console.WriteLine就是一个例子。
例如:static void WriteLine(string format,params object[] objs);
这里objs作为一个object[]对待,只是调用的时候,可以不定参数的调用。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coolzhengtao
2012-11-27 · TA获得超过208个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:147万
展开全部
我觉得传一个object[]数组可以实现的,因为就像线程回调一样,参数不定的话系统就是用这个实现的,不过你这个函数要进行内部判断了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黄工的控件库
推荐于2016-01-10 · TA获得超过5732个赞
知道小有建树答主
回答量:1644
采纳率:50%
帮助的人:519万
展开全部
void test(string a, params object[] objs)//params 必须是最后一个参数
{
……
}

调用
test("a",1,2,"sdfd",'d')
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式