string[] ss=new string[]{'aa','bb'}private void change( string[] s1)

解决方案 »

  1.   

    public void change(params string[] args)
    {
        foreach(string para in args)
        {}
    }
    采用参数数组应该可以解决LZ的问题
      

  2.   

    以上各位都弄错了我的意思 现在修改如下若我定义了这样一些变量 
    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是什么整数都能满足要求
      

  3.   

    这个是不是lz想要的?
    private void Change(string[] str, params int[] index)
    {
    for (int i=0;i<index.Length;i++)
    {
    str[index[i]]=GetValue(i);
    }
    }private string GetValue(int index){}
      

  4.   

    lz的想法就有问题,C#是编译型的语言,而不是像动态语言,所以在编译的时候,方法的参数就固定了,而你却想参数能动态变化,这种想法就不对。
    上面的朋友给出的解决办法可行。
      

  5.   

    就用上面的数组啊,在简单不过了
    如mapserver所说,楼主的出发点就不对
      

  6.   

    以上各位都弄错了我的意思 现在修改如下 若我定义了这样一些变量  
    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是什么整数都能满足要求