各位好,在开发中遇到一个问题,我从消息队列中获取消息的时候用的是下面这个方法:
me = _mq.GetMessageEnumerator2();
电脑上的私有队列中有N条消息(N>1),当我用上面那个语句获取枚举后。再用下面的方法读取的时候,循环却执行了一次,也就是说,并没有把所有的消息都取出来,仅仅取了一条,很纳闷。以前我用的时候可以把N条消息取出来的呢。
// While循环了1次,按照道理来说,应该要循环N次才对的。
while (me.MoveNext())
{
me.RemoveCurrent();
}
请各位前辈支招,谢谢了啊
me = _mq.GetMessageEnumerator2();
电脑上的私有队列中有N条消息(N>1),当我用上面那个语句获取枚举后。再用下面的方法读取的时候,循环却执行了一次,也就是说,并没有把所有的消息都取出来,仅仅取了一条,很纳闷。以前我用的时候可以把N条消息取出来的呢。
// While循环了1次,按照道理来说,应该要循环N次才对的。
while (me.MoveNext())
{
me.RemoveCurrent();
}
请各位前辈支招,谢谢了啊
// While循环了1次,按照道理来说,应该要循环N次才对的。
while (me.MoveNext())
{
me.RemoveCurrent();
} 为什么要
me.RemoveCurrent();
呢?试试While完了之后,清空吧,不过清空干嘛?用完了就算了
while (me.MoveNext())
{
me.RemoveCurrent(); remove了就不能往下走了啊
}