C#:什么是最好的集合类来存储非常相似的字符串项,以便有效地序列化到文件

Gre*_*ban 3 c# collections serialization

我想将outlook电子邮件的entityID列表存储到文件中.entityID是字符串,如:

"000000005F776F08B736B442BCF7B6A7060B509A64002000""000000005F776F08B736B442BCF7B6A7060B509A84002000""000000005F776F08B736B442BCF7B6A7060B509AA4002000"

你可以注意到,字符串非常相似.我想将这些字符串保存在一个集合类中,当我将其序列化为文件时,该集合类将尽可能高效地存储.你知道任何可用于此的集合类吗?

提前感谢您提供任何信息...... Gregor

Tho*_*mas 8

框架中没有预先存在的集合类将满足您的需求,因为它们是通用的:根据定义,它们不知道它们存储的类型(例如string),因此它们无法对其进行任何操作.

如果高效序列化是您唯一关注的问题,我建议您只需压缩序列化文件.像这样的数据是压缩算法的盛宴..NET提供gzip和deflate算法System.IO.Compression; 可以通过Google轻松找到更好的算法(如果您需要).

如果内存中的效率也是一个问题,您可以将字符串存储在trie基数树中.