ArrayList里原来有一个类对象,我后来再Add一个新对象之后,再遍历ArrayList时,发现里面的两个类对象包含的数据都一样了,相当于第一个类对象被覆盖了,这是什么原因?public int AddSessionRest(DateTime WorkDate,float RestTime)
{
ArrayList Al_Rest=new ArrayList();
SessionRestInfo RestInfo=new SessionRestInfo();
int Flag=-1; //得到Sesseion中的内容
Al_Rest=GetSession();
for(int i=0;i<=Al_Rest.Count-1;i++)
{
RestInfo=(SessionRestInfo)Al_Rest[i]; if(WorkDate.ToShortDateString()==RestInfo.WorkDate)
{
Flag=0;
break;
}
} if(Flag==-1)
{
RestInfo.RestID=Al_Rest.Count;
RestInfo.WorkDate=WorkDate.ToShortDateString();
RestInfo.RestTime=RestTime;
Al_Rest.Add(RestInfo);
//保存Sesseion中的内容
SaveSession(Al_Rest);
Flag=1;
}
Return Flag;
}
请赐教。
{
ArrayList Al_Rest=new ArrayList();
SessionRestInfo RestInfo=new SessionRestInfo();
int Flag=-1; //得到Sesseion中的内容
Al_Rest=GetSession();
for(int i=0;i<=Al_Rest.Count-1;i++)
{
RestInfo=(SessionRestInfo)Al_Rest[i]; if(WorkDate.ToShortDateString()==RestInfo.WorkDate)
{
Flag=0;
break;
}
} if(Flag==-1)
{
RestInfo.RestID=Al_Rest.Count;
RestInfo.WorkDate=WorkDate.ToShortDateString();
RestInfo.RestTime=RestTime;
Al_Rest.Add(RestInfo);
//保存Sesseion中的内容
SaveSession(Al_Rest);
Flag=1;
}
Return Flag;
}
请赐教。
应改为:
public int AddSessionRest(DateTime WorkDate,float RestTime)
{
ArrayList Al_Rest=new ArrayList();
SessionRestInfo RestInfo;
int Flag=-1; //得到Sesseion中的内容
Al_Rest=GetSession();
for(int i=0;i<=Al_Rest.Count-1;i++)
{
RestInfo=(SessionRestInfo)Al_Rest[i]; if(WorkDate.ToShortDateString()==RestInfo.WorkDate)
{
Flag=0;
break;
}
} if(Flag==-1)
{
RestInfo=new SessionRestInfo();
RestInfo.RestID=Al_Rest.Count;
RestInfo.WorkDate=WorkDate.ToShortDateString();
RestInfo.RestTime=RestTime;
Al_Rest.Add(RestInfo);
//保存Sesseion中的内容
SaveSession(Al_Rest);
Flag=1;
}
Return Flag;
}