首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

方法值传递有关问题

2012-01-05 
方法值传递问题?请问一下在C#里x(intx,stringy,……,objectmm){}main(){x()//这里调用并什么传递时,我只想

方法值传递问题?
请问一下在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);
}

热点排行