没有创建对象C#的序列化值

时间:2016-06-24 08:11:11

标签: c# wpf serialization

我使用的是MainWindow.xaml课程,我希望在我的案例中保存我班级的一些价值观:private static int bestrecord = 0;

如何保存此值并在没有创建类的情况下还原它?

因为使用序列化,您只能保存一个对象,我只想保存此变量。

谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用“应用程序设置”功能,该功能主要用于保存属于应用程序状态的简单变量,并且需要在将来的会话中进行恢复。

文档为here

在IDE中使用设计器创建设置后,您可以加载如下设置:

var mySetting = Properties.Settings.Default.MySettingName;

您可以正常编辑变量并像这样保存

Properties.Settings.Default.MySettingName = mySetting ;
Properties.Settings.Default.Save();

答案 1 :(得分:-1)

我找到了一种在xml文件中保存得分的好方法。

我基于Examples of XML Serialization

为此,我创建了2个功能:

private void SerializeElement()
{
    XmlSerializer ser = new XmlSerializer(typeof(XmlElement));
    XmlElement myElement = new XmlDocument().CreateElement("bestRecord");
    myElement.InnerText = bestRecord.ToString();
    TextWriter writer = new StreamWriter("text.xml");
    ser.Serialize(writer, myElement);
    writer.Close();
}

private static int deserialize()
{
    XmlSerializer ser = new XmlSerializer(typeof(XmlElement));
    StreamReader lecteur = new StreamReader("text.xml");
    XmlDocument myElement = new XmlDocument();
    XmlElement p = (XmlElement) ser.Deserialize(lecteur);
    lecteur.Close();
    return int.Parse(p.InnerText);
}

xml文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<bestRecord>8</bestRecord>