ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C# net Queue 固定长度不自动扩展大小

2022-01-07 15:33:04  阅读:153  来源: 互联网

标签:aaaa C# System QueueLength Queue Enqueue length using net


C# net Queue  固定长度 不自动扩展大小 不可变大小

C# net 队列 固定长度 不自动扩展大小 不可变大小

 

新建文件 QueueLength.cs

拷贝下面的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace System.Collections.Generic
{
    /// <summary>
    /// 表示对象的先进先出集合并固定长度
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class QueueLength<T> : Queue<T>
    {
        int length = 1;

        /// <summary>
        /// 初始化类的新实例,并指定长度
        /// </summary>
        /// <param name="length">长度</param>
        public QueueLength(int length) : base(length)
        {
            this.length = length;
        }

        /// <summary>
        /// 将对象添加到结尾处
        /// </summary>
        /// <param name="item">要添加的对象</param>
        public new void Enqueue(T item)
        {
            if (base.Count == length)
                base.Dequeue();

            base.Enqueue(item);
        }

    }
}

  

新建控制台拷贝如下代码测试

            QueueLength<int> aaaa = new QueueLength<int>(3);
            aaaa.Enqueue(1);
            aaaa.Enqueue(2);
            aaaa.Enqueue(3);
            aaaa.Enqueue(4);
            aaaa.Enqueue(5);

            Console.WriteLine(string.Join(",", aaaa));

  

输出结果为:

 

 完成

 

标签:aaaa,C#,System,QueueLength,Queue,Enqueue,length,using,net
来源: https://www.cnblogs.com/ping9719/p/15775235.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有