C# 定长queue,怎样实现超过长度自动扔掉队首!

csdnxhb2 2010-01-17 03:10:24
C# 定长queue,怎样实现超过长度自动扔掉队首!
Queue<Info> mQueue = new Queue<Info>(10);
...全文
2160 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-01-17
  • 打赏
  • 举报
回复
Queue<(Of <(T>)>).Dequeue
移除并返回位于 Queue<(Of <(T>)>) 开始处的对象。
http://msdn.microsoft.com/zh-cn/library/1c8bzx97.aspx
ouc_ajax 2010-01-17
  • 打赏
  • 举报
回复
public class QueueFixedLength :Queue
{
public QueueFixedLength(int length)
{
this.fixedLength = length;
}

public QueueFixedLength() : this(10)
{
}

private int fixedLength = 10;
public int FixedLength
{
get
{
return fixedLength;
}
set
{
fixedLength = value;
}
}

public override void Enqueue(object obj)
{
if (this.Count > 10)
{
base.Dequeue();
}
base.Enqueue(obj);
}
}

--------------------------------------
纯属娱乐,如果用的很多或者特殊要求很多可以这样写。
最好还是mngzilin
(海风)那样!
mngzilin 2010-01-17
  • 打赏
  • 举报
回复
Queue<string> mQueue = new Queue<string>(10);
mQueue.Enqueue("1");
mQueue.Enqueue("2");
mQueue.Enqueue("3");
mQueue.Enqueue("4");
mQueue.Enqueue("5");
mQueue.Enqueue("6");
mQueue.Enqueue("7");
mQueue.Enqueue("8");
mQueue.Enqueue("9");
mQueue.Enqueue("10");
mQueue.Enqueue("11");
if(mQueue.Count>10)
mQueue.Dequeue();
SQL77 2010-01-17
  • 打赏
  • 举报
回复
判断一下长度,如果大于10就直接取后面的10个放进去?

111,120

社区成员

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

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

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