加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – .NET有一个简单的方法来执行溢出列表吗?

发布时间:2020-12-15 08:34:30 所属栏目:百科 来源:网络整理
导读:我想在我的应用程序中添加一个“最近打开”的功能,并想知道是否有一个简单的内置方法来做“溢出”的列表.我的意思是,当你添加超出列表容量的元素时,所有项都会被移位. 所需功能的代码示例(显然不是这样,列表实际上包含A,B,C): Liststring list = new Listst
我想在我的应用程序中添加一个“最近打开”的功能,并想知道是否有一个简单的内置方法来做“溢出”的列表.我的意思是,当你添加超出列表容量的元素时,所有项都会被移位.

所需功能的代码示例(显然不是这样,列表实际上包含A,B,C):

List<string> list = new List<string>();

//if Overflow was 2

list.Add("A");
list.Add("B");
//List now contains A,B
list.Add("C");
//List now contains B,C

对不起这个简单的问题.问题本身是显而易见的(入口计划是从List继承),我只是不喜欢重新发明轮子,并在语言或框架具有该功能时将未来的程序员与自定义对象混淆.

解决方法

据我所知,图书馆里没有这样的收藏品.
您可以根据List<>非常轻松地编写此内容.或数组.
// untested
class OverFlowList<T>
{
    T[] _data;
    int _next = 0;

    public OferflowList(int limit)
    {
        _data = new T[limit];
    }

    void Add(T item)
    {
        _data[_next] = item;
        _next = (_next + 1) % _data.Length;
    }    
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读