我想在My.Settings中存儲常規數組。不是ArrayList,不是StringCollection,只是一個字符串Array。這可以做到嗎?如果是這樣,它是如何完成的?我似乎無法在Visual Studio中的設置設計器中找到字符串數組數據類型。vb.NET嘗試在My.Settings中存儲陣列
0
A
回答
0
我不認爲您可以在My.Settings中存儲常規數組。 My.Settings僅用於「設置」,例如顏色,圖像等。
如果您有大量字符串,我想我會將它們存儲在文本文件,XML文件或SQL服務器數據庫。
如果它是一個非常短的字符串列表......我想你可以將它作爲一個單獨的字符串存儲在my.settings中,並用一個獨特的字符分隔每個原始字符串。
當您使用Split()方法讀取它時,將其拆分回原始字符串列表。
如果你真的想存儲在My.Settings字符串數組,該easist的方式很可能是用「StringCollection」的設置類型
2
更新:看看在MSDN文章Using My.Settings in Visual Basic 2005中的高級設置部分。它看起來像該節中概述的方法(子類ApplicationSettingsBase
並提供您自己的屬性)可能是您正在尋找的。
不能創建一個環境,它的類型是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
不能在My.Settings直接使用數組。你可以用一個String類型的數組來定義一個類,但是爲什麼不使用StringCollection呢?無論您選擇做什麼,請記住,無論您在My.Settings中放置什麼,都必須使用XML可序列化,因爲這些設置以XML格式保存。
相關問題
- 1. VB.net my.settings不自動創建和存儲
- 2. 保存my.settings文本多次保存vb.net
- 3. 存儲字符串的my.settings
- 4. 陣列:存儲陣列中陣列
- 5. 在my.settings中保存上下文菜單項vb.net
- 6. 存儲在陣列和打印陣列
- 7. AngularJS存儲陣列在本地存儲
- 8. C#:存儲大量數據的my.settings
- 9. 存儲XML在陣列
- 10. 在哈希存儲陣列
- 11. 存儲在多維陣列
- 12. 在設置中存儲密鑰陣列
- 13. 在陣列中正確存儲對象
- 14. 在陣列中存儲圖像
- 15. 數據不存儲在陣列中
- 16. 在變量中存儲陣列位置
- 17. 在numpy的陣列中存儲的datetime
- 18. 存儲陣列到另一個陣列
- 19. 在會話[「B」]存儲陣列由陣列中的會話[「A」]
- 20. 在另一個陣列中存儲多個陣列
- 21. AmplifyJS沒有存儲在本地存儲中的JavaScript陣列
- 22. 嘗試使用vb.net在ms sql中列出數據
- 23. 嘗試將生成的熱圖保存在Azure存儲中
- 24. vb.net通過控制和my.settings變量
- 25. VB.NET Windows服務的位置My.Settings - 設置
- 26. VB.Net My.Settings保存的SQL服務器列表的自定義類型
- 27. 存儲多維陣列
- 28. PHP:與存儲陣列
- 29. 存儲記錄陣列
- 30. 使用Firebase存儲陣列
這不會是一個常規數組。爲什麼My.Settings不會採用常規數組,而是接受更復雜的StringCollection? – MAW74656 2011-03-15 21:18:50
它只是,你不是第一個不喜歡它。不要吝嗇,但你應該去微軟論壇並在那裏抱怨。 – dbasnett 2011-03-15 21:46:52
沒有試圖抱怨(與我原來的問題),只是試圖獲得功能的答案。我喜歡堆棧溢出方式比微軟論壇更好。在這裏我真正得到了明智的答案好的,答案是「不,你不能」。謝謝。 – MAW74656 2011-03-16 14:14:53