C#:为啥设置 PropertyValues 有 0 个项目?
Posted
技术标签:
【中文标题】C#:为啥设置 PropertyValues 有 0 个项目?【英文标题】:C#: Why does Settings PropertyValues have 0 items?C#:为什么设置 PropertyValues 有 0 个项目? 【发布时间】:2010-09-10 11:44:28 【问题描述】:假设设置文件中有 5 个项目(MySetting1
到 MySetting5
),为什么 PropertyValues
有 0 个项目而属性有正确的数字?
Console.WriteLine( Properties.Settings.Default.PropertyValues.Count); // Displays 0
Console.WriteLine( Properties.Settings.Default.Properties.Count); // Displays 5
【问题讨论】:
【参考方案1】: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();
产生以下输出:
0
1
【讨论】:
看来这样做就足够了:Settings.Default.Setting = Settings.Default.Setting; "PropertyValues 似乎是指已设置的 PropertyValues 的数量" -- 这不太对,因为您所要做的就是 retrieve 强制填充PropertyValues
集合的属性值。对我来说,这似乎是 .NET 中的一个错误,因为这似乎没有记录在案。以上是关于C#:为啥设置 PropertyValues 有 0 个项目?的主要内容,如果未能解决你的问题,请参考以下文章
为啥visual studio 2013安装后,没有c#模板?
为啥 C# 6.0 在使用 Null 传播运算符时不允许设置非 null 可空结构的属性?
为啥 C# 6.0 在使用 Null 传播运算符时不允许设置非 null 可空结构的属性?