首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向my.settings StringCollection添加项

向my.settings StringCollection添加项
EN

Stack Overflow用户
提问于 2014-05-04 03:46:31
回答 2查看 7.6K关注 0票数 2

我在my.settings中有一个字符串集合。我想从文本框中向它添加一个字符串。我试过这样做:

代码语言:javascript
复制
 My.Settings.Usernames.Add(textbox1.Text)

但是,当代码执行时,我会抛出此错误:

System.NullReferenceException:对象引用没有设置为对象的实例。

有什么想法吗?谢谢你的回答,谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-04 04:14:32

很可能您还没有实例化它。

如果此时运行该程序,则不会实际创建该设置,因此,如果尝试从集合中添加或删除项,则会得到错误“对象引用未设置为对象实例”。

有几种方法可以解决这个问题。首先,如果设置对象为null,则可以在运行时创建它,但这有点麻烦。

更好的解决方案是单击“设置”页面上的“值”文本框。然后单击右侧的省略号打开字符串集合编辑器。如果在不添加任何字符串的情况下关闭此设置,则“设置”窗口仍然不会实际创建设置对象。若要防止出现这种情况,请将字符串添加到字符串集合编辑器中,然后单击“确定”。然后再次打开编辑器,删除字符串,然后单击OK。这保留了设置对象,但它是空的。

票数 7
EN

Stack Overflow用户

发布于 2014-06-09 01:00:37

另一种动态执行此操作的方法是在表单加载事件或Sub中,这取决于应用程序的启动方式:

代码语言:javascript
复制
' initialize the collection ias needed:      
If My.Settings.Usernames Is Nothing Then
   My.Settings.Usernames = New System.Collections.Specialized.StringCollection
End If

强迫它通过在Settings中添加一个假字符串来初始化是一个很好的了解,并将其保留为一个设计时任务。但这是相当简单的,并将其视为任何其他对象,需要在使用前进行安装。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23452375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档