gpt4 book ai didi

C# : Store Generic List<> Objects to File Stream

转载 作者:行者123 更新时间:2023-11-30 20:10:14 26 4
gpt4 key购买 nike

我有我的 List<Employee>对象,我想将此对象存储到文件流中。 (人类不容易阅读)

此外,我想检索 List<Employee>从流到在 UI 上显示员工列表(我正在使用 .NET Windows 窗体应用程序)

我还想更新文件流中的特定记录
谁能告诉我我会这样做吗?

如果序列化是执行此操作的唯一方法,请告诉我如何使用它来更新特定记录信息。

提前致谢。

最佳答案

使用序列化,您必须反序列化整个列表,然后再将其序列化以执行更新操作。

如果您不希望输出是人类可读的,BinaryFormatter 是一种可行的方法。但是,如果您真的想让随机的人无法读取它,请考虑对您的序列化数据应用一些编码算法,例如 RSA。

使用 BinaryFormatter 进行序列化的示例:

using(FileStream fs = File.Open(FileName, FileMode.Create)) {
try
{
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, list);
}
catch (SerializationException)
{
// error handling
}
}

反序列化:

using(FileStream fs = File.OpenRead(FileName)) {
try
{
BinaryFormatter bf = new BinaryFormatter();
var list = (List<int>)bf.Deserialize(fs);
}
catch (SerializationException)
{
// Error handling
}
}

编辑:稍微更改了代码示例

关于C# : Store Generic List<> Objects to File Stream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5316258/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com