.net 中的滚动列表

2023-11-25

.NET 中是否有任何列表/集合类的行为类似于滚动日志文件?用户可以向其中追加元素,但如果超过最大容量,列表将自动删除旧元素。

我还想访问列表中的任何元素,例如列表[102]等


这是一个简单的实现:

public class RollingList<T> : IEnumerable<T>
{
    private readonly LinkedList<T> _list = new LinkedList<T>();

    public RollingList(int maximumCount)
    {
        if (maximumCount <= 0)
            throw new ArgumentException(null, nameof(maximumCount));

        MaximumCount = maximumCount;
    }

    public int MaximumCount { get; }
    public int Count => _list.Count;

    public void Add(T value)
    {
        if (_list.Count == MaximumCount)
        {
            _list.RemoveFirst();
        }
        _list.AddLast(value);
    }

    public T this[int index]
    {
        get
        {
            if (index < 0 || index >= Count)
                throw new ArgumentOutOfRangeException();

            return _list.Skip(index).First();
        }
    }

    public IEnumerator<T> GetEnumerator() => _list.GetEnumerator();
    IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.net 中的滚动列表 的相关文章

  • 如何更改 .NET MAUI Blazor 项目中的默认字体?

    我有一个用于 NET MAUI Blazor 应用程序的默认 Visual Studio 项目 针对 Windows x64 构建 我尝试了两种不同的更改字体的方法 在MauiProgram cs中有一个字体的配置ConfigureFont
  • 列出推导式和条件?

    我想看看是否可以使用列表理解使这段代码变得更好 假设我有以下列表 a list HELLO FOO FO1BAR ROOBAR SHOEBAR regex list lambda x re search r FOO x re IGNOREC
  • 从 BitmapImage 获取支持的图像格式

    如何获取 System Windows Media Imaging BitmapImage 支持的图像格式列表 我正在用 C WPF 编写一个简单的图像处理工具 BitmapImage 类是更有用的位图类之一 因为它能够从多种格式进行解码
  • 有没有办法使用 .NET 中的 Kafka Ksql Push 查询

    我目前正在 NET 中使用 Kafka 消费者处理大量 Kafka 消息 我的处理过程的第一步是解析 JSON 并根据 JSON 中特定字段的值丢弃许多消息 我不想首先处理 特别是不下载 那些不需要的消息 看起来 kSql 查询 写为推送查
  • .NET ServiceModel.Syndicate - 更改 RSS 源的编码

    我正在尝试解决我在以下位置生成的所有 RSS 源的错误http captainobvio us http captainobvio us在 Internet Explorer 版本 8 和 9 中产生以下错误 进给代码错误 从当前切换 编码
  • RichTextbox SelectionStart 返回错误的索引

    我需要向用户显示光标上文本的选择开始和长度 就像在 notepad exe 中一样 选择长度没有问题 因为 Richtextbox 支持带有开始和结束的选择属性 http msdn microsoft com en us library s
  • 等待运算符错误

    我的代码有问题 我怎么解决这个问题 这个问题出现在await操作符中 public MyModel HttpClient client new HttpClient HttpResponseMessage response await cl
  • 更改实体的可访问性

    我想建立一个内部实体 我已将实体 其标量属性和导航属性更改为内部 当我尝试构建它时出现此错误 错误 6036 EntityType 文件 具有 内部 可访问性 EntitySet 文件 具有具有 公共 可访问性的 get 属性 Entity
  • 检查 SSRS 报告自定义代码中的 Active Directory 组成员资格表单

    我正在构建 SQL Server Reporting Services SSRS 报告 查看报告的最终用户可以选择某些输入参数 在本例中为位置 用户可以选择的位置取决于 Active Directory 组成员身份 因此我尝试在自定义报告功
  • 从 AuthorizeAttribute 继承的属性不起作用

    我目前正在尝试根据用户角色在新的 ASP MVC 5 应用程序中实现安全性 目标是防止用户在没有特定角色 或更高角色 的情况下访问某些控制器或控制器方法 根据到目前为止我所读到的问题 我创建了一个继承 AuthorizeAttribute
  • .NET 或 Windows 同步原语性能规范

    我目前正在写一篇科学文章 我需要非常准确地引用 有人可以向我指出 MSDN MSDN 文章 一些已发表的文章来源或一本书 我可以在其中找到 Windows 或 NET 同步原语的性能比较 我知道这些是按性能降序排列的 互锁 API 关键部分
  • 调用泛型类的方法

    这是上下文 我尝试编写一个映射器来动态地将域模型对象转换为 ViewModel 对象 我遇到的问题是 当我尝试通过反射调用泛型类的方法时 出现此错误 System InvalidOperationException 无法对 Contains
  • 如何使用实体框架设置连接字符串

    我将 EF6 与 MySQL 结合使用 并有一个用于多个数据库的模型 我希望能够在我的表单中设置连接设置 如何以编程方式设置模型的连接字符串 你应该使用EntityConnectionFactory这就是您所需要的 public strin
  • 使用生成的 Golang DLL 返回字符串或 *C.Char

    我一直在努力追随z505 goDLL https github com z505 goDLL回购并遇到了一个大问题 该方法无法返回字符串 我无法读取结果的输出变量 这是我到目前为止使用的代码 Go 完整代码https play golang
  • .Net 6 控制台应用程序:WebApplication.CreateBuilder 与 Host.CreateDefaultBuilder

    我正在研究 NET 6 并希望构建一个简单的控制台应用程序 并进行一些依赖项注入 据我所知 为了使启动 现在只是程序 文件更具可读性 已经做了很多工作 让我有点困惑的是 所有改进似乎都是针对 API 项目中使用的 WebApplicatio
  • 无法转换类型为“NHibernate.Collection.Generic.PersistentGenericBag”的对象

    public List
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz

随机推荐

  • 如何创建一个浮动的可触摸活动,仍然允许触摸其边界之外的本机控件?

    我用 mspaint 制定的方案最好地解释了我想要实现的目标 我尝试过设置FLAG NOT TOUCH MODAL根据描述 这应该正是我想要的 但它根本不起作用 我的活动消耗ALL触摸事件 甚至在其边界之外 如果我设置FLAG NOT FO
  • CMake:如何在参数中使用双引号调用execute_process?又名:使用 CMake 中的 find 来计算与字符串匹配的行数

    我想调用命令find从一个内execute process 的格式find命令是 find v c n i off line
  • 在网络上录制音频,预设:16000Hz 16bit

    function floatTo16BitPCM output offset input for var i 0 i lt input length i offset 2 var s Math max 1 Math min 1 input
  • 闭包表相当于 SQL 中的图结构

    这个问题sql中如何存储树形结构 导致一个想法封闭表用于存储在许多方面都是最佳的树木 问题是 SQL 中的图结构是否有类似的东西 我看见这张纸这似乎概述了图形索引结构 但它有点超出我的理解范围 想知道是否有一种方法可以创建一些辅助表来处理
  • TypeError:无法创建一致的方法解析顺序(MRO)[重复]

    这个问题在这里已经有答案了 这是我计划在我的游戏中使用的代码 但它抱怨 MRO 错误 class Player pass class Enemy Player pass class GameObject Player Enemy pass
  • gremlin python - 向顶点添加多个但数量未知的属性

    我想向一个顶点添加多个属性 但从一开始就没有明确知道这些属性可能是什么 例如 假设将一个人作为顶点添加到图中 我们有以下属性字典 Person 1 id 1 first name bob age 25 height 177 也许要添加另一个
  • java derby 数据库从 CSV 批量加载

    Derby 是否具有从 CSV 批量插入数据的功能 我能想到的最好办法是逐行读入文件并创建一个批处理 SQL 更新语句并运行它 对于 100 万行 需要 30 40 分钟 而使用 mySQL 的 LOAD 语句从 CSV 文件加载相同数据需
  • 如何通过 Dockerfile 使用 apt-get 安装多个包

    所以我试图制作一个基本的 Dockerfile 但是当我运行它时它说 The command bin sh c sudo apt get install git python yaml python jinja2 returned a no
  • Onclick验证表单,如果有效则仅提交表单

    我有一个 html 表单 我首先希望使用 jQuery 验证库 jquery validate min js 进行验证 并且如果表格有效 将表格提交到某个位置 我已尝试以下操作
  • 使用协议相关 URL 时会加载什么协议? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我刚刚开始测试 无协议 URL 背后的想法 我要解决的问题是 在 https 页面上 我
  • 在 R 中每小时对数据帧进行分组

    我有一个数据框 其中日期列中有日期时间值 三列包含每个日期时间的计数 我正在尝试将每小时的数据与三列的计数进行分组 聚合函数适用于单列 但我试图对整个数据框执行此操作 有小费吗 aggregate DateFreq ColA by list
  • 为 Qt 注册自定义类型时何时、何地以及为何使用命名空间

    类似的问题已多次提出 但我主要关注名称空间和指针问题 MyClass h namespace foo class MyClass MyClass QDataStream operator lt lt QDataStream out cons
  • boost线程互斥数组

    我的问题是 我有多个线程更新的块矩阵 多个线程可能一次更新不相交的块 但通常可能存在竞争条件 现在矩阵使用单锁锁定 问题是 是否可能 如果可能 如何实现 实现高效的锁数组 以便一次只能锁定矩阵的一部分 所讨论的矩阵可能会变得相当大 约为 5
  • MemoryStream.Close() 或 MemoryStream.Dispose()

    我该打电话给哪一个 有必要两个都打电话吗 如果我已经调用了其中一个 另一个会抛出异常吗 Close and Dispose 当调用MemoryStream 仅用于做两件事 将对象标记为已释放 以便将来意外使用该对象时会引发异常 Possib
  • 电子邮件网络钓鱼中的同形攻击检测

    主要问题 我正在 Java 中开发一个 API 需要检测网络钓鱼电子邮件中品牌 例如 PayPal Mastercard 等 的使用情况 显然 攻击者使用不同的策略来针对这些品牌 以便更难以检测到它们 例如 大师卡 看起来非常相似 万事达
  • 合并 Pandas Dataframe 中的日期范围

    我在 Python 中有一组记录 其中包含一个 id 至少一个属性和一组日期范围 我想要使 用每个 id 的代码 并组合属性匹配且日期范围内没有间隙的所有记录 日期范围无间隙是指一条记录的结束日期大于或等于该 ID 的下一条记录 例如 ID
  • Flash 文档查看器

    有基于 Flash 的文档查看器吗 我正在寻找类似于 Scribd com 使用的 iPaper 的东西 有一个很棒的 PDF2SWF 开源查看器 http www devaldi com page id 260
  • javafx 表中的自动行编号

    我有一个示例代码 我们用它来动态行号Java Swing表即JTable 我是新来的JavaFX并希望同样JavaFX 有没有办法设置自动行号JavaFX Table class LineNumberTable extends JTable
  • Ruby 的 max 函数如何对重复项进行排序?

    我一直在看最大法在鲁比的Enumerablemixin v2 4 1 这是一个相当简单的方法 但是当存在重复项时它如何排序有点令人困惑 例如 x 1 2 3 4 5 6 7 8 9 x max a b a 2 lt gt b 2 gt 1
  • .net 中的滚动列表

    NET 中是否有任何列表 集合类的行为类似于滚动日志文件 用户可以向其中追加元素 但如果超过最大容量 列表将自动删除旧元素 我还想访问列表中的任何元素 例如列表 102 等 这是一个简单的实现 public class RollingLis