保存到设置时,我的自定义对象存储在何处。我无法在设置文件

时间:2016-02-03 09:08:06

标签: c# winforms settings

我有一个人班......

public class Person
{
    public string name { get; set; }
    public int age { get; set; }
}

PersonList类......

public class PersonList
{
    public List<Person> lp = new List<Person>();

    public void AddPerson(Person p)
    {
        lp.Add(p);
    }
}

添加一些&#39;人物的代码&#39;并保存到我的项目设置......

PersonList pl = new PersonList();
pl.AddPerson(new Person() { name = "bob", age = 25 });
pl.AddPerson(new Person() { name = "tom", age = 35 });
pl.AddPerson(new Person() { name = "bill", age = 55 });

Properties.Settings.Default.PersonList = pl;
Properties.Settings.Default.Save();

然后我使用以下代码在datagridview中显示数据...按预期显示。

dataGridView1.DataSource = Properties.Settings.Default.PersonList.lp;

enter image description here

因此设置正确存储但我找不到确切的位置。 如果我编辑设置文件,我会得到以下内容......

<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="Setting_File_change_location.Properties" GeneratedClassName="Settings">
  <Profiles />
  <Settings>
    <Setting Name="PersonList" Type="Data.PersonList" Scope="User">
      <Value Profile="(Default)" />
    </Setting>
  </Settings>
</SettingsFile>

我可以看到它存储了一个PersonList,但我看不到“人物”#39;这些数据是存储在其他文件中的吗?

2 个答案:

答案 0 :(得分:1)

设置存储在

C:\Users\[your_username]\AppData\Local\[your_appname]\[version]

user.config文件

答案 1 :(得分:0)

您需要找到与您的申请相关联的user.config

这通常位于当前Windows用户个人资料的AppData文件夹中。

要获得所需的确切路径,可以在代码中的某处调用Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)以获取所需的值。