在应用程序设置中存储具有值的字符串数组

18

我已经修改了我的Settings.settings文件,以便让system_Filters成为一个System.String[]。我希望能够在Visual Studio设计器中填充这个变量,而不是从代码中填充。我可以使用以下代码在代码中让它工作:

Properties.Settings.Default.system_Filters = new string[] { "a", "b", "c" };
string _systemFilters = Properties.Settings.Default.system_Filters;

这个功能运行正确。但是我没有一个好的地方把它放在我的代码中,理想情况下希望在Settings.setting文件中输入它。这个值不会被修改。我尝试了几乎每种可能的变体,但结果总是一样。

无法转换为System.String

有人知道正确的语法吗?如果更容易使用StringCollection,我也愿意尝试。


你尝试将包含C#数组初始化代码“new string[] {....}”的字符串转换为string[] - abatishchev
也许这可以帮助:https://dev59.com/aHI-5IYBdhLWcg3wm5vN#4267845 - Sebastian Piu
@abatishchev 那我应该做什么呢?我已经尝试了很多很多不同的变体。 - valsidalv
@SebastianPiu 我试着把整个XML字符串扔进框里,它也抱怨了。 - valsidalv
1个回答

31

尝试使用StringCollection代替string[]。它是由设置设计器原生支持的。

该值存储为XML,但您不需要手动编辑它。当您在“类型”列中选择StringCollection时,值列中的编辑器会更改;有一个...按钮,单击可打开对话框以输入字符串。

enter image description here


你知道在我的Settings.settings文件中,使用StringCollection时,在"value"字段中输入什么吗? - valsidalv
@valsidalv,请看我的更新答案。 - Thomas Levesque
1
完整名称 System.Collections.Specialized.StringCollection - Andrei Krasutski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接