方法值传递问题?
请问一下在C#里
x(int x ,string y, ……,object mm)
{
}
main()
{
x();//这里调用并什么传递时,我只想传递string和object的值,其它的不传
//在这个括号里该怎么写啊
}
大家有什么办法吗
------解决方案--------------------调用方法时,传进的值必须和方法体参数列表对应
弱类型语言的另当别论
------解决方案--------------------C#里,你说的不行。
不过可以用参数数组来解决
这个参数必须是函数定义中的最后一个。用params来标识。
比如说 void func(params int[] val);
你可以用任意个int 参数来调用这个函数。
你那种形式的可以都写成objcet[] 参数,用到参数的地方拆下箱就可以了。
------解决方案--------------------c#里面不行
可以用重载:
void x(int x ,string y, ……,object mm)
{
}
void x(int x,object mm)
{
x(x,string.Empty,...,mm);
}
------解决方案--------------------C#用重载来解决默认值的问题
是特意这样设计的。
即再提供一个没有int的方法重载。
------解决方案-------------------- c#里面不行
可以用重载:
void x(int x ,string y, ……,object mm)
{
}
void x(string y,object mm)
{
x(0,y,...,mm);
}