我想在我的应用程序中添加一个“最近打开”的功能,并想知道是否有一个简单的内置方法来做“溢出”的列表.我的意思是,当你添加超出列表容量的元素时,所有项都会被移位.
所需功能的代码示例(显然不是这样,列表实际上包含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<>非常轻松地编写此内容.或数组.
您可以根据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; } }