将列表保存到 My.Settings

Saving a list to My.Settings

我正在尝试将列表变量保存到 My.Settings,但找不到可用的类型。我正在使用 Visual Studio 2017。这是我构建列表的方式...

Dim Parameters As New List(Of String)
Parameters.Add("Item1")
Parameters.Add("Item2")

尝试加载或保存设置时出现错误。

Dim Times As New List(Of String)
Times = My.Settings.Times

My.Settings.Item("Times") = Times

虽然后者没有显示为错误,但它使程序崩溃。

我尝试将设置类型设置为StringStringCollectionListDictionary等,但无济于事。

A System.Collections.Specialized.StringCollection 是最常用的,尽管您不能直接为其分配 List(Of String),因为它们是不同的类型。

相反,您必须迭代 List(Of String) 并将每个项目添加到 My.Settings 列表:

'Remove the old items.
My.Settings.Clear()

'Add the new ones.
For Each Item As String In Times
    My.Settings.Times.Add(Item)
Next

同样,当读回 List(Of String) 时:

For Each Item As String In My.Settings.Times
    Times.Add(Item)
Next