问题描述
若我定义了这样一些变量stringstr1="aa",str2="bb"……strN="99";//这们的N个string对象在定义方法中改变这此对象的值privatevoidchange(refstrings1,refstringstr2)//假若上面的N=2{s1="11";s2="55";}privatevoidchange(refstrings1,refstringstr2,refstringstr3)//假若上面的N=3{s1="11";s2="55";s3="88";}调用方法后str1="11";str2="55";str3="88";(不需要其它多余的语句)但是我只想定义一个方法,无能N是什么整数都能满足要求
解决方案
解决方案二:
string数组
解决方案三:
string[]ss=newstring[]{'aa','bb'}privatevoidchange(string[]s1)
解决方案四:
publicvoidchange(paramsstring[]args){foreach(stringparainargs){}}采用参数数组应该可以解决LZ的问题
解决方案五:
楼上的方法可行
解决方案六:
以上各位都弄错了我的意思现在修改如下若我定义了这样一些变量stringstr1="aa",str2="bb"……strN="99";//这们的N个string对象在定义方法中改变这此对象的值privatevoidchange(refstrings1,refstringstr2)//假若上面的N=2{s1="11";s2="55";}privatevoidchange(refstrings1,refstringstr2,refstringstr3)//假若上面的N=3{s1="11";s2="55";s3="88";}调用方法change(refstr1,refstr2,refstr3);//此时我就可以使用str2,str1,str3中的新值了,紧接着下面的语句stringstr=str1+str2+str3;//这时str的值为"115588"但是我只想定义一个方法,无能N是什么整数都能满足要求
解决方案七:
这个是不是lz想要的?privatevoidChange(string[]str,paramsint[]index){for(inti=0;i<index.Length;i++){str[index[i]]=GetValue(i);}}privatestringGetValue(intindex){}
解决方案八:
lz的想法就有问题,C#是编译型的语言,而不是像动态语言,所以在编译的时候,方法的参数就固定了,而你却想参数能动态变化,这种想法就不对。上面的朋友给出的解决办法可行。
解决方案九:
俺不是高手走错了溜。。。
解决方案十:
LZ可以考虑用递归来实现,或者向用循环吧特定名字的变量读出来加.
解决方案十一:
就用上面的数组啊,在简单不过了如mapserver所说,楼主的出发点就不对
解决方案十二:
楼上说的对就用数组向里面传参数就行了
解决方案十三:
楼上说的对就用数组向里面传参数就行了
解决方案十四:
以上各位都弄错了我的意思现在修改如下若我定义了这样一些变量stringstr1="aa",str2="bb"……strN="99";//这们的N个string对象在定义方法中改变这此对象的值privatevoidchange(refstrings1,refstringstr2)//假若上面的N=2{s1="11";s2="55";}privatevoidchange(refstrings1,refstringstr2,refstringstr3)//假若上面的N=3{s1="11";s2="55";s3="88";}调用方法change(refstr1,refstr2,refstr3);//此时我就可以使用str2,str1,str3中的新值了,紧接着下面的语句stringstr=str1+str2+str3;//这时str的值为"115588"也就是说我向方法传N个string对象的引用但是我只想定义一个方法,无能N是什么整数都能满足要求
解决方案十五:
唉,典型的自己不知道自己问什么的人,你都发了三次,还说“以上各位都弄错了我的意思”可见你表达能力有问题啊