项目需要进行某些操作的时候 需要 遍历移出Stack

刚开始

Debug.Log("清空前:" + intStack.Count);

int _number = intStack.Count;
for (int i = 0; i <  intStack.Count; i++)
{
int _int = intStack.Pop();
Debug.Log("_int:" + _int);
}

Debug.Log("清空后个数:" + intStack.Count);

 

每次都无法完全清空,最后多次测试,终于找到了原因:

问题处在这里  for (int i = 0; i <  intStack.Count; i++)

没intStack.Pop();一次    intStack.Count都会有变化

改成 

 

int _number = intStack.Count;
for (int i = 0; i <  intStack.Count; i++)
{
int _int = intStack.Pop();
Debug.Log("_int:" + _int);
}

即可

 

posted on 2018-05-03 19:41  BigSoldiers  阅读(219)  评论(0)    收藏  举报