C#:为什么设置PropertyValues有0项?

3 c# visual-studio-2005 visual-studio

假设设置文件(MySetting1to MySetting5)中有5个项目,为什么PropertyValues有0个项目而Properties有正确的数字?

Console.WriteLine( Properties.Settings.Default.PropertyValues.Count); // Displays 0
Console.WriteLine( Properties.Settings.Default.Properties.Count);     // Displays 5
Run Code Online (Sandbox Code Playgroud)

Jam*_*mes 5

似乎PropertyValues指的是已设置的PropertyValues的数量.您指定的默认值不会被视为已设置,如果您执行Save(),则不会将其存储到用户配置中.

Console.WriteLine(Settings.Default.PropertyValues.Count.ToString());
Console.ReadLine();
Settings.Default.Setting = "abc";
Console.WriteLine(Settings.Default.PropertyValues.Count.ToString());
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

得到以下输出:

0

1

  • _“PropertyValues 似乎是指已设置的 PropertyValues 的数量”_——这不太正确,因为您所要做的就是_检索_一个属性值以强制填充“PropertyValues”集合。对我来说,这似乎是 .NET 中的一个错误,因为这似乎没有记录在案的行为。 (2认同)