C#:在注册表中存储.Net对象

And*_*ech 0 c# registry

是否可以在注册表中存储.Net对象?

我想List<>在注册表中存储一个泛型,然后检索它并将其解析回List.

这是可能的,还是我需要手动序列化然后反序列化?

[UPDATE]

根据发布的答案,我将序列化对象并将其保存在当前用户的AppData文件夹中.

Joe*_*orn 7

这是可能的,如果列入名单的类型是可序列化.如果是这种情况,您可以将其序列化并将其存储在字符串值中.

但这可能是一个非常糟糕的主意.注册表变得足够大.相反,将此类事物放在文件系统的All Users Application Data文件夹中.


Nei*_*ell 6

为什么要注册?

存储这些序列化对象的适当位置通常位于用户的Application Data文件夹或Isolated Storage中.当然,序列化的方法取决于你.XML,二进制等,它本质上是磁盘上的文件.

您可以考虑"本地数据库"或SQL Server Express之类的内容,具体取决于您的数据和并发需求.

某些应用程序会在注册表中存储最近使用(MRU)列表,但这只是通过迭代给定键的所有值.我不建议采用这种方法.