Queue的奇特现象

yinshi2012 2013-02-22 06:42:15
我用Queue<T>来存取日志信息,T是个struct,里面记录时间和string。
struct 里面重载构造函数,初始化时间为当前日期和赋值非空字符串。
问题===========================================================
在使用的过程中发现,有时从队列中出列的struct会有日期为0001-1-1和空字符串的情况。
而我入队的时调用的构造函数都是自己写的构造函数,就算有空串的情况,日期也不会是那样的。
===============================================================
XP .Net3.5

有人遇到相似的情况么?
...全文
202 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinshi2012 2013-02-25
  • 打赏
  • 举报
回复
结贴了。这个问题太怪了。 尝试==1====================== 把struct声明变为class声明其他不变。 T l_Log=Queue<T>.Dequeue(); VS提示l_Log为null。 怀疑new class(T)失败,插入了null。 尝试==2====================== 在所有Queue<T>.Enqueue前判断变量是否为null,非null才入队。经测试问题依旧。 ============================= 没别的办法分析了,现在的做法是出队后判断是不是无效的数据,无效的就不处理了。
threenewbee 2013-02-23
  • 打赏
  • 举报
回复
结构体字段需要先初始化。
传递正能量 2013-02-22
  • 打赏
  • 举报
回复
有时从队列中出列的struct会有日期为0001-1-1和空字符串的情况 如果你的日期没有正确初始化,或者构造没有被调用,是可能出现你说的情况的 先确认这两点 你可以贴代码来看看

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧