Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何保存对变量的更改?_C#_Wpf - Fatal编程技术网

C# 如何保存对变量的更改?

C# 如何保存对变量的更改?,c#,wpf,C#,Wpf,我想问一下,你们中是否有人知道如何在progrem中保存更改,以便在重新启动时保留更改 例如,我有一个布尔变量,它的default值为false。 我想在初始启动后,将值更改为true,这样当我关闭并启动程序时,布尔变量值将为true。这就是我们的数据库用于 或配置文件 或文件系统 您需要保留数据,这些数据不能在内存中,而必须在磁盘上 阅读有关各种数据持久化策略的内容尝试一下,如果您遇到问题请告诉我们选择要用于持久化数据的格式。在应用程序启动时,读取文件并将其反序列化到您的模型中。关闭时-将其序

我想问一下,你们中是否有人知道如何在progrem中保存更改,以便在重新启动时保留更改

例如,我有一个布尔变量,它的default值为false。
我想在初始启动后,将值更改为true,这样当我关闭并启动程序时,布尔变量值将为true。

这就是我们的数据库用于

或配置文件

或文件系统

您需要保留数据,这些数据不能在内存中,而必须在磁盘上


阅读有关各种数据持久化策略的内容尝试一下,如果您遇到问题请告诉我们

选择要用于持久化数据的格式。在应用程序启动时,读取文件并将其反序列化到您的模型中。关闭时-将其序列化并保存到文件。请看下一个问题:

下一个样本取自上述链接:

using System;
using System.IO;
using System.Web.Script.Serialization;

namespace MiscConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            MySettings settings = MySettings.Load();
            Console.WriteLine("Current value of 'myInteger': " + settings.myInteger);
            Console.WriteLine("Incrementing 'myInteger'...");
            settings.myInteger++;
            Console.WriteLine("Saving settings...");
            settings.Save();
            Console.WriteLine("Done.");
            Console.ReadKey();
        }

        class MySettings : AppSettings<MySettings>
        {
            public string myString = "Hello World";
            public int myInteger = 1;
        }
    }

    public class AppSettings<T> where T : new()
    {
        private const string DEFAULT_FILENAME = "settings.jsn";

        public void Save(string fileName = DEFAULT_FILENAME)
        {
            File.WriteAllText(fileName, (new JavaScriptSerializer()).Serialize(this));
        }

        public static void Save(T pSettings, string fileName = DEFAULT_FILENAME)
        {
            File.WriteAllText(fileName, (new JavaScriptSerializer()).Serialize(pSettings));
        }

        public static T Load(string fileName = DEFAULT_FILENAME)
        {
            T t = new T();
            if(File.Exists(fileName))
                t = (new JavaScriptSerializer()).Deserialize<T>(File.ReadAllText(fileName));
            return t;
        }
    }
}

你可以使用我现在正在使用的用户设置来跟踪我得到的答案。如果可以的话,我会在这里更新。