函数中如果参数过多,如何处理?例如:public int GetMark (int a, int b, int c, int d, int e, int f, int g……)
{
int x;
x = a + b + c + d + e + f + g……return x ;}

解决方案 »

  1.   

    把它封装成一个类,传递类的一个实例。把这些a,b,c改成类的属性不就行了
      

  2.   

    一,把参数封装成结构体或类,就像 EventArgs 那样
    二,如果是可变参数,用 params 关键字,只能有一个 params 关键字,
        并且他必须是最后一个参数。public int GetMark (params int[] numbers)
    {
      int r = 0;
      for(int i = 0; i < numbers.Lenth; i++)
      {
        r += numbers[i];
      }
      return r;
    }
      

  3.   

    调用:
    int a = GetMark (1);
    int a = GetMark (1, 2);
    int a = GetMark (1, 2, 3);
    int a = GetMark (1, 10, 100, 1000);