我想在My.Settings中存储一个常规数组。不是ArrayList,不是StringCollection,只是一个字符串Array。可以这样做吗?如果是这样,它是如何完成的?我似乎无法在Visual Studio的设置设计器中找到字符串数组数据类型。
答案 0 :(得分:2)
更新:请查看MSDN文章Using My.Settings in Visual Basic 2005中的高级设置部分。看起来该部分中概述的方法(子类化ApplicationSettingsBase
并提供您自己的属性)可能正是您正在寻找的。 p>
您无法创建类型为String()
的设置,大概是因为设置基础架构需要支持任何数组T()
,这不适用于大多数类型。
我个人认为只使用StringCollection
然后在代码中使用该数组填充数组是有意义的:
Module SettingsExtensions
Public Function GetMySettingArray() As String()
Dim mySetting As StringCollection = My.Settings.MySetting
' If you're using .NET 3.5 or greater:
Return mySetting.Cast(Of String)().ToArray()
' Otherwise:
Dim array(mySetting.Count - 1) As String
mySetting.CopyTo(array, 0)
Return array
End Function
End Module
答案 1 :(得分:1)
您无法在My.Settings中直接使用数组。你可以用一个String数组来定义一个类,但为什么不使用StringCollection呢?无论您选择做什么,请记住,您在My.Settings中放置的任何内容都必须是XML可序列化的,因为设置以XML格式保存。
答案 2 :(得分:0)
我认为你不能在My.Settings中存储常规数组。 My.Settings仅用于“设置”,例如颜色,图像等。
如果您有大量字符串,我想我会将它们存储在文本文件,XML文件或SQL服务器数据库中。
如果它是一个非常短的字符串列表...我想你可以把它作为一个单独的字符串存储在my.settings中,每个原始字符串都有一个独特的字符。
当您使用Split()方法将其重新读回原始字符串列表时。
如果确实想在My.Settings中存储一个字符串数组,那么最简单的方法可能是使用“StringCollection”作为设置类型