【发布时间】:2012-11-28 22:31:28
【问题描述】:
我需要使用一种数据结构来保留列表中最新的 X 元素。一位同事给了我这个解决方案:
int start = 0;
const int latestElementsToKeep = 20;
int[] numbers = new int[latestElementsToKeep];
for (int i = 0; i < 30; i++)
{
numbers[start] = i;
if (start < numbers.Length - 1)
{
start++;
}
else
{
start = 0;
}
}
所以运行后,numbers 数组的数字为 19-29(最新的 20 个数字)。
这很好,但很难在现实世界中使用它。有没有更简单的方法来做到这一点?
【问题讨论】:
-
19-29 是最后 10 个数字,打错了吗?
-
您想对这些集合执行哪些操作?
-
我需要非常频繁地处理列表,所以我想限制自己实时发生的最新X元素。
-
@TravisJ: 19-29 实际上是最后 11 个数字...
标签: c# arrays collections