求助前辈,关于静态成员赋值给属性的问题
有两个类一个class1,一个classDataAccess,class1的属性通过它的静态成员赋值,之所以定义成静态的是因为这个类的属性赋完值后以后还要用到,静态成员的值是通过classDataAccess类查询数据库得到的,其中查全部记录的方法要返回一个Iclass1的数组(因为不是一条class1类型的记录),我可能没说明白,示意代码如下:      
 class   class1:Iclass1 
 { 
             private   static   string   _str1;         //第一个静态成员 
             private   static   string   _str2;         //第二个静态成员               
             public   string   P1                           //第一个属性 
             { 
                      get 
                            { 
                                     return   _str1; 
                            } 
             } 
             public   string   P2                        //第二个属性 
             { 
                      get 
                            { 
                                     return   _str2; 
                            } 
             }   
             public   class1(){}                                                         //无参数构造函数 
             public   class1(string   s1,string   s2)      //有参数构造函数 
             { 
                      _str1=s1;         //类中属性赋值 
                      _str2=s2;         //类中属性赋值 
             }   
             ......                     //其他的成员      
 }   
 class   classDataAccess            //访问数据库类 
 { 
 ......          
    public   Iclass1[]   selectall()      //查询全部数据 
    { 
          ...... 
          int   n=....;                           //查询到的记录条数 
          Iclass1[]   sel=new   Iclass1[n];      //定义一个数组 
          for(int   i=0;i <n;i++) 
          { 
                   string   string1=myds.Tables[0].Rows[i][ "str1 "].ToString(); 
                   string   string2=myds.Tables[0].Rows[i][ "str2 "].ToString(); 
                   class1   se=new   class1(string1,string2);      //通过有参数的构造函数给属性赋值 
                   sel[i]=se;                           //返回值 
          } 
          return   sel; 
    } 
 } 
 现在的问题是,sel[i]数组循环完后其中的值一样,都为最后一次查询到的数据,如果我把静态成员改成非静态的就正常了,可是那样的话查询到的数据赋给属性后以后再用就为空了,不知道我说明白没?呵呵,小弟菜鸟,请前辈指点,谢谢:D
------解决方案--------------------static的字段只有一份copy的内存中, 你得到的当然就是最后的最新data了
------解决方案--------------------