如何配置Properties.Settings.Default.History以避免空引用异常?
解决StringCollection类型Settings属性的NullReferenceException问题
问题根源是通过项目属性创建的StringCollection类型设置项默认不会自动初始化实例,首次访问时返回null,导致调用Add方法触发空引用异常。以下是两种解决方法:
方法一:通过项目属性窗口设置默认空集合
- 右键项目 → 选择「属性」→ 切换到「设置」标签页
- 找到名为
History的属性,点击「值」列的省略号按钮(...) - 在弹出的「StringCollection编辑器」中,无需输入任何内容,直接点击「确定」
这会为History生成一个空的StringCollection实例作为默认值,而非null
方法二:代码层面兜底初始化(推荐搭配方法一使用)
在调用History的方法前,先判断是否为null,为空则手动创建实例:
if (Properties.Settings.Default.History == null) { Properties.Settings.Default.History = new System.Collections.Specialized.StringCollection(); } Properties.Settings.Default.History.Add("00:30"); Properties.Settings.Default.Save();
完成上述操作后,重新编译运行项目,就能正常添加数据并持久化,重启应用后ListBox的内容也不会丢失。
内容的提问来源于stack exchange,提问作者ᴥSaiLyᴥ
相关产品推荐
相关产品推荐

