如何在Settings.Default上保存List <string>?

Bru*_*oLM 42 .net c# winforms

我的表单上有一个ListBox,我想保存它并在我再次启动应用程序时加载值.

如何保存列表PrjName.Properties.Settings.Default

pr0*_*g3r 79

没问题!创建一个新设置,例如"MyListOfStrings",类型无关紧要.

在此输入图像描述

然后在xml编辑器中打开设置文件

在此输入图像描述 在此输入图像描述

您的文件将如下所示:

在此输入图像描述

现在更改它,如下所示并保存

在此输入图像描述

好吧,就是这样,现在它看起来像那样:

在此输入图像描述

并在代码中:

在此输入图像描述

  • 嗯,最有趣的......这对你有用吗?多么了不起 我发现简单地在框中写入文本会在运行时失败.无法从默认值创建属性"MyListOfStrings".错误消息:XML文档(1,1)中存在错误.您必须在设置文档中添加序列化列表,如下所示:`&lt;?xml version ="1.0"encoding ="utf-16"?&gt ; &lt; ArrayOfString xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd ="http://www.w3.org/2001/XMLSchema"&gt; &LT;字符串1&GT; &LT;字符串2&GT; &LT;/ArrayOfString&GT;` (6认同)
  • 是的,输入/新行在该列表中创建一个新项目 (2认同)
  • 我正在尝试创建 System.Windows.Media.Color 的列表,但我收到“无法从其默认值创建属性,XML 文档 (1,1) 中存在错误”异常。可能是什么问题?我尝试将默认值设置为字符串(红色、蓝色...)并使用十六进制(#FFFF00FF...)但没有成功。 (2认同)

Bru*_*oLM 42

我发现我无法直接保存List<string>应用程序设置,但我看到我可以保存一个StringCollection.

在这里我发现,这是很简单的从一个转换StringCollectionList<string>

var list = stringCollection.Cast<string>().ToList();
Run Code Online (Sandbox Code Playgroud)