// <summary>
/// 循环缓存区<t> 范型 工具类
/// </summary>
/// <typeparam name="T"></typeparam>
public class RingBuffer<T> {
public readonly int Size;
/// <summary>
/// 逻辑环填满的响应事件
/// </summary>
public Action<T> OnOverflow;
/// <summary>
/// 获取计数
/// </summary>
public int Count {
get;
private set;
}
/// <summary>
/// </summary>
public int TotalCount {
get;
private set;
}
private T[] buffer;
private int position;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="size">大小</param>
public RingBuffer(int size) {
this.Size = size;
this.buffer = new T[size];
this.Count = 0;
this.position = 0;
}
/// <summary>
/// 加入
/// </summary>
/// <param name="item"></param>
public void Push(T item) {
this.position = (this.position + 1) % thi
C#的循环队列
最新推荐文章于 2024-07-23 17:02:12 发布
本文详细介绍了如何在C#中实现循环队列的数据结构,包括其工作原理、关键操作如入队、出队的实现,并通过示例代码展示了其在处理批量数据时的高效性。
摘要由CSDN通过智能技术生成