【发布时间】:2019-02-27 21:07:05
【问题描述】:
我在一个列表中有一百万个对象,该对象包含多个字符串,因此内存使用量几乎翻了一番。由于 c# 中的字符串占用 26 + (length * 2) 字节的内存。
因为我想显示庞大的数据集,所以内存是个问题。我想将字符串存储为空终止字符数组,并在渲染数据网格行时将它们转换为字符串,但无法找到在渲染时更改数据的方法。
有什么方法可以实现吗? 或任何其他解决方案?
【问题讨论】:
-
没有一个列表,可以创建多个数据列表,以便在不同的数据网格窗口中直观地比较数据。
-
你对你的可怜的用户做了什么给他们一个包含一百万个项目的列表。
-
window congaing 反汇编一个交互式二进制文件,它可以从一端跳转到另一端,nm,它不是你想的那样,它是一个要求。
-
为什么需要在列表中显示百万个对象?您是否考虑过一些分页来限制一次可以显示的最大数据数?如果您使用 MVVM 并且您的列表启用了 UI 虚拟化,那么您可以在渲染时轻松转换数据 - 如果是这样,您的 ViewModel 上的数据 getter 将仅在对象被渲染时被调用(在 UI 上可见/滚动)。跨度>
-
我不能使用分页。 list启用了ui虚拟化,但是内存中的数据达到3-4gb,也需要内存来处理数据。仿真反编译和所有
标签: c# .net wpf optimization datagrid