c# – 存储许多小对象的内存有效方法

我有一个简单的Person类,有4个字符串和整数.

public class Person
{
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public int Age { get; set; }
        public string PostalCode { get; set; }
}

我们需要在内存中存储大量这些内容.该集合需要可以被任何领域搜索.项目将作为生命周期的一部分添加和删除.

Flyweight模式似乎不起作用,因为对象上没有大量重复值,仅在字段级别.哪种模式或策略最有效地限制内存开销并且运行良好?

最佳答案

We need to store a large number of these in memory.

然后一个数组Person []将是最瘦的方式,但List< Person>会很近并且更容易使用.只需确保使用Capacity参数最小化重新分配.

The collection needs to be searchable by any field

容易,.在哪里(p => p.FirstName == value).
加速字典加速会耗费内存.

点赞