【问题标题】:Collections to insert record at zero position在零位置插入记录的集合
【发布时间】:2017-11-17 08:02:37
【问题描述】:

哪个集合最好在第一个位置插入记录。我知道LinkedList 更好,但它比list 占用更多内存。我有网格,我必须按降序插入大约 200,000 多条记录。这是插入交易的实时网格。供参考。我正在使用DevExpress 网格,我的应用程序位于WPF

【问题讨论】:

  • 你为什么不做new List<T>(otherList.OrderByDescending())之类的事情,而不是尝试将每个项目单独添加到第一个位置?
  • 我认为在添加每个项目时创建新列表会很慢。
  • 对不起,我不完全理解你的句子? - 但是,据我了解 - 你为什么要创建一个新列表并添加项目?我试图向您展示一种方法,即通过一次初始化整个列表而不是逐个添加它们来消除向列表中添加项目的必要性? - 这就是为什么我使用构造函数通过.OrderByDescending() 将列表传递给它,因为你说你想在descending order 中拥有它。 - 由于您没有指定从哪里获得 200.000 多条记录,因此我提出了简单的解决方案,即 otherList.OrderByDescending()

标签: c# wpf collections


【解决方案1】:

我不确定我是否完全理解您的问题,但您似乎想要一个可以按 LIFO(后进先出)顺序迭代的数据结构。

假设这是堆栈数据结构具有 LIFO 行为的情况。

public class Model
{
    readonly Stack<object> _stack = new Stack<object>();

    public void InsertRecord(object record)
    {
        _stack.Push(record);
    }

    public IEnumerable<object> Enumerate()
    {
        return _stack.AsEnumerable();
    }
}

【讨论】:

    猜你喜欢
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    相关资源
    最近更新 更多