如题

解决方案 »

  1.   

    C#好像不支持缺省参数,你可以这样
    把这些参数作为一个结构
    struct parm{
       public int n;
       public int c;
       public int d;
       ....
       public parm()
       {
         n=1;
         c=2;
         d=3;
        }
    }
    然后把这个结构传过去
      

  2.   

    public void test() : this(string.Empty)public void test(string name)........................
      

  3.   

    C#不支持缺省参数传个 null 也可以另外1楼,struct 我记得构造函数必须给所有变量赋值
      

  4.   

    参考一下MSDN给出的用重载来模拟默认参数static string myMethod(string precip, string country, string location)
        {
            return string.Format("The {0} in {1} stays mainly in the {2}.",
                precip, country, location );
        }static string myMethod(string precip, string country )
        {
            return myMethod(precip, country, "plain");
        }static string myMethod()
        {
            return myMethod("rain", "Spain", "plain");
        }
      

  5.   

    重载是C#解决默认参数的方法void SayHello(string msg)
    {}void SayHello()
    {
        SayHello("Hello World!");
    }
      

  6.   

    这个问题最好的解决方案使用重载,如果要传可变参数可以用Arraylist或者Hashtable .
      

  7.   

    用可变参数!这样你传入的参数是可变的。。不用考虑参数的个数。
    如下面定义:
    private string KeBianCanShu(params string[] values)
    {
      return(values[0]+values[1]);
    }
    调用的时候:
    string printStr="";
    printStr = KeBianCanShu("勿忘国耻,","抵制日货!")
    结果:printStr = "勿忘国耻,抵制日货!"
      

  8.   

    zhanqiangz(闲云野鹤)说的有道理。。
    我上面那个例子只是针对字符串。要是其它数据类型的就得把上面的参数类型换成Arraylist或者Hashtable 
    复人: zhanqiangz(闲云野鹤Overriding-Try to quit smoking .) ( ) 信誉:100  2005-09-21 08:58:00  得分: 0  
     
     
       这个问题最好的解决方案使用重载,如果要传可变参数可以用Arraylist或者Hashtable .
      
     
      

  9.   

    重载了或者就用params参数来设置,void DoLoad(params object[] values){}
    当然这些方法只赋其中几个值的话,对于值参数很方便,如果是引用型就需要特别赋值了。
    也可以考虑用结构来实现。
      

  10.   

    改变策略,
    1.能否不用这种方式 
    2.使用params传一个参数数组 
    3.写个类,封装参数,如同事件处理中的EventArgs一样  
    4.用VB.NET写这个类