C#在应用程序中动态设置,然后持久保存

C#在应用程序中动态设置,然后持久保存,c#,settings,C#,Settings,我正在寻找很多不同的方法来做到这一点,我不确定我应该走的方向 我有一个应用程序可以在几台个人电脑上运行。我正在寻找一种方法来保持应用程序设置的列表持久 其想法是,用户将能够从应用程序列表中进行选择。然后将保存这些应用程序,直到用户删除它们。我需要保存应用程序名和相应的路径 问题是,我似乎无法将键、值对保存到VisualStudio中的新设置中,并使它们保持不变。我需要写一个文件来保存文件,我该怎么做。。。我应该将它们写入system.configuration、JSON还是XML???有人有一个

我正在寻找很多不同的方法来做到这一点,我不确定我应该走的方向

我有一个应用程序可以在几台个人电脑上运行。我正在寻找一种方法来保持应用程序设置的列表持久

其想法是,用户将能够从应用程序列表中进行选择。然后将保存这些应用程序,直到用户删除它们。我需要保存应用程序名和相应的路径


问题是,我似乎无法将键、值对保存到VisualStudio中的新设置中,并使它们保持不变。我需要写一个文件来保存文件,我该怎么做。。。我应该将它们写入system.configuration、JSON还是XML???有人有一个好的演练吗?

嗯,有很多方法可以做到这一点。对于一种简单的方法,可以使用XML序列化。首先创建一个表示要保存的所有设置的类,并向其添加Serializable属性,例如:

[Serializable]
public class AppSettings
{
    public List<UserApp> Applications { get; set; }
}

[Serializable]
public class UserApp
{
    public string Path { get; set; }
    public string Name { get; set; }
}
然后,要保存,请执行以下操作:

AppSettings settings = new AppSettings();
settings.Applications = new List<UserApp>();

settings.Applications.Add(new UserApp { Path = @"C:\bla\foo.exe", Name = "foo" });

AppSettings.Save(settings);
您还可以编辑加载的设置并再次保存,以覆盖旧设置


要获得更复杂的方法,请保存到数据库中。

好的,有很多方法可以做到这一点。对于一种简单的方法,可以使用XML序列化。首先创建一个表示要保存的所有设置的类,并向其添加Serializable属性,例如:

[Serializable]
public class AppSettings
{
    public List<UserApp> Applications { get; set; }
}

[Serializable]
public class UserApp
{
    public string Path { get; set; }
    public string Name { get; set; }
}
然后,要保存,请执行以下操作:

AppSettings settings = new AppSettings();
settings.Applications = new List<UserApp>();

settings.Applications.Add(new UserApp { Path = @"C:\bla\foo.exe", Name = "foo" });

AppSettings.Save(settings);
您还可以编辑加载的设置并再次保存,以覆盖旧设置


要了解更复杂的方法,请保存到数据库中。

使用以下屏幕截图中所示的说明将设置添加到设置中:

注意:双击第一个箭头所示的属性

然后您可以在运行时更新该值,如下所示:

namespace ConsoleApplication1
{
    public class Program
    {
        public static void Main()
        {
            var defSettings = ConsoleApplication1.Properties.Settings.Default;
            var props = defSettings.Test = "Whatever";

            // Save it so it persists between application start-ups
            defSettings.Save();

            Console.Read();
        }
    }
}

设置将存储在中。

使用以下屏幕截图中所示的说明将设置添加到设置中:

注意:双击第一个箭头所示的属性

然后您可以在运行时更新该值,如下所示:

namespace ConsoleApplication1
{
    public class Program
    {
        public static void Main()
        {
            var defSettings = ConsoleApplication1.Properties.Settings.Default;
            var props = defSettings.Test = "Whatever";

            // Save it so it persists between application start-ups
            defSettings.Save();

            Console.Read();
        }
    }
}

设置将存储在。

为了保持简单,我只需将包含一些JSON或XML的文本文件写入运行应用程序的计算机的驱动器。为了保持简单,我只需将包含一些JSON或XML的文本文件写入运行应用程序的计算机的驱动器。