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