gpt4 book ai didi

C# - 序列化和反序列化静态成员

转载 作者:行者123 更新时间:2023-11-30 21:24:25 24 4
gpt4 key购买 nike

我类有一个静态字典,它包含 12000 个值。当我尝试保存我的类(class)时,我需要刷新并在服务器端的静态字典中添加一些数据。

问题是,将值添加到静态字典后,它仍然保留 12000 个值,而不是 12001(最后一个未添加)。它无法序列化和反序列化静态成员。

我认为,由于静态成员不是对象的一部分,因此它不会被序列化。我可以实现 ISerializable 接口(interface)并添加最后一个成员。但我认为这不是一个好主意。

有更好的方法吗?我正在开发 C# Windows 应用程序。

最佳答案

您可以连载。这是一个代码,

[Serializable ]
public class Numbers
{
public int no;
public static int no1;
}
class Test
{
static void Deser()
{
Numbers a;
FileStream fs = new FileStream("a1.txt", FileMode.Open );
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bs = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
a = (Numbers)bs.Deserialize(fs);
Numbers.no1 = (int)bs.Deserialize(fs);
fs.Close();
Console.WriteLine(a.no + " " + Numbers.no1);
}
static void Ser()
{
Numbers a = new Numbers();
a.no = 100;
Numbers.no1 = 200;

FileStream fs = new FileStream("a1.txt", FileMode.Create);
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bs = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
bs.Serialize(fs, a);
bs.Serialize(fs, Numbers.no1);
fs.Close();
}
}

关于C# - 序列化和反序列化静态成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1220759/

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