一个主程序要调用8个子程序,每个子程序都有几百个类似的变量要声明,(是一套数学算法,所以变量比较多)
8个子程序一开始都把类似的变量重新声明一遍,不方便维护管理这些变量,要修改几个常量的值都要来回定位主程序,太麻烦了有没有什么可以精简点的声明调用的方法?比如建个类存这批变量,每个子程序生成实例后再调用?这样就不用在主程序里写声明了,使得程序冗长

解决方案 »

  1.   

    int i1 = xxx;
    int i2 = xxx;
    int i3 = xxx;
    ...=>
    int[] array = new int[] { xxx, xxx, xxx };int i1 = xxx;
    string s1 = xxx;
    double d1 = xxx;
    int i2 = xxx;
    string s2 = xxx;
    double d2 = xxx;
    int i3 = xxx;
    string s3 = xxx;
    double d3 = xxx;
    ...=>
    strut VarPair
    {
        public int i;
        public double d;
        public string s;
    }
    List<VarPair> = new List<VarPair>()
    {
        new VarPair() { i = xxx, d = xxx, s = xxx },
        new VarPair() { i = xxx, d = xxx, s = xxx },
        new VarPair() { i = xxx, d = xxx, s = xxx }
    };
      

  2.   

    数组的方法是用过了,这么变量里本身就有大量的数组,结构体和List(没见过)还没试,试试看
      

  3.   

    几百个变量都重新写成 get set 属性形式会不会很麻烦啊?
      

  4.   

    可以使用自动属性
    class A
    {
        public int i { get; set; }
    }
      

  5.   

    - -~ 不一定要实体类的啊~
    静态类放集合不也行么
    首先有个实体Entity 
    用自动属性赋值 
    在默认无参构造里赋初始值
    然后有个静态的EntityList
    public static class EntityList
    {
     //里面有
     public static List<Entity> entiyList = new List<Entity>(){
      new Entity(),new Entity()......根据你子程序的数量定
     };
    }
    这样的话哪天你程序要四个子程序要互相调用那堆变量你就会发现好处了~ 话说索引器的确不错- -~ 
    但也是在用的时候 給几百个变量加索引~ 想都不敢想