You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中获取列表节点引用/视图的官方解决方案问询

问题:寻找.NET官方支持的高效双向链表节点操作方案

当前使用多边形环形缓冲区时,删除元素需要复制数据,希望改用更高效的列表结构,需满足以下要求:

  • O(1)开销删除任意元素
  • O(1)访问当前节点的下一个元素
  • 无需处理环形缓冲区的首尾环绕特殊情况
  • 无内存分配需求

简言之,需要一种简单数据结构,具备O(1)增删操作、O(1)本地(相对)元素访问能力,无需处理首尾环绕特殊情况。可以通过已获取的节点直接修改和操作列表,比如实现“在最小值节点前后添加元素x”这类操作。

现询问:C#是否提供可获取此类节点引用(或“节点视图”)的官方库/特性,支持以下操作且无不可变列表的限制?

  • 获取下一个节点
  • 访问节点值
  • O(1)删除节点

以C++为例,类似的结构如下:

template<typename T> struct ListNode {
    struct List *list;
    ListNode *next, *previous;
    T *value;

    ListNode* insertAfter(T *newValue);
    ListNode* insertBefore(T *newValue);
    void removeFromList();
    void destroy();
};
struct List {
    ListNode *firstNode, *lastNode;
    unsigned int length;
};

(无需关注代码细节或内存管理,仅作理解参考,该结构类似unsafe上下文带指针的C#代码。)

我可以自行实现泛型列表,但更希望了解.NET官方发布的库或特性是否有直接满足该需求的解决方案。

内容的提问来源于stack exchange,提问作者ChrisoLosoph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 09:33:17