问题 为什么我的名单<string>保存在用户福彩12选5走势图中不保存字符串?

SEBGM2018

新成员
加入
2018年6月16日
消息
4
编程经验
3-5
美好的一天,我有一个名单<string>保存在我的应用程序用户福彩12选5走势图中,此列表应该保存OpenFileDialog的文件路径,然后将其进行反序列化,但我已被称为sevel();甚至方法升级();将字符串添加到列表后,但此字符串不保存。为什么?
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,731
地点
悉尼,澳大利亚
编程经验
10+
I Have A List<string>保存在我的应用程序用户福彩12选5走势图中

我不确定这是可能的。您创建的福彩12选5走势图类型是什么?如果你认为这是列表<string>,您是否可以提供您的福彩12选5走势图页面屏幕截图以证明它?

如果不是列表<string>,您究竟如何从列表中保存数据<string> to the setting?
 

SEBGM2018

新成员
加入
2018年6月16日
消息
4
编程经验
3-5
是的

我不确定这是可能的。您创建的福彩12选5走势图类型是什么?如果你认为这是列表<string>,您是否可以提供您的福彩12选5走势图页面屏幕截图以证明它?

如果不是列表<string>,您究竟如何从列表中保存数据<string> to the setting?

是的。可以查看屏幕截图,执行此操作,我需要将Setains.Settings XML文件更改为System.Collection.gener.List。
Captura de Pantalla(27).pngCaptura de Pantalla(28).png
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,731
地点
悉尼,澳大利亚
编程经验
10+
我需要将System.String XML文件更改为System.Collection.Generic.list。

那可能是这个问题。你不认为你不能通过UI做的原因吗?如果要保存字符串列表,那么您可以使用stringCollection。如果您特别需要列表<string>然后,您可以简单地在启动和关机之间将在两个之间来回复制数据。
 

SEBGM2018

新成员
加入
2018年6月16日
消息
4
编程经验
3-5
回复

那可能是这个问题。你不认为你不能通过UI做的原因吗?如果要保存字符串列表,那么您可以使用stringCollection。如果您特别需要列表<string>然后,您可以简单地在启动和关机之间将在两个之间来回复制数据。

为什么字符串集合?
如果我得到第二个选项,我该怎么办?
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,731
地点
悉尼,澳大利亚
编程经验
10+
泛型仅在2.0版中添加到.NET。在此之前,我们通常使用ArrayList进行动态数组功能。缺少物品的字符串键入,所以不太理想。由于字符串的集合是如此常见的,所以system.collections.specialized.StringCollection类是包括从版本1.0来提供字符串键入。由于泛型似乎在福彩12选5走势图子系统中不受支持,并且明确支持stringCollection,这就是您应该使用的是持续一个字符串的集合。

如果您使用stringCollection,那么您可以使用它与您的任何其他集合,调用添加和删除等。如果你真的需要一个清单<string>然后你可以这样做:
var myListOfString = new List<string>(Properties.Settings.Default.MyStringCollection);

或这个:
myListOfString.AddRange(Properties.Settings.Default.MyStringCollection);

在启动时:
Properties.Settings.Default.MyStringCollection.Clear();
Properties.Settings.Default.MyStringCollection.AddRange(myListOfString);

关机。

请注意,使用捕获很多人的StringCollection时有一个gotcha。添加该类型的福彩12选5走势图时,它将默认为null。处理它的一种方法是在启动时执行此操作:
if (Properties.Settings.Default.MyStringCollection == null)
{
    Properties.Settings.Default.MyStringCollection = new StringCollection();
}

这将是第一次创建一个对象,然后将该对象保存在关断并加载在后续的场合。更好的选择是遵循以下步骤:

1.单击福彩12选5走势图的值字段。
2.单击(...)按钮以编辑值。
3.添加任何虚拟值。
4.单击“确定”。

请注意,XML代码段显示在“值”字段中,它包含您的虚拟项。

5.再次单击(...)按钮。
6.删除虚拟值。
7.单击“确定”。

请注意,XML片段仍然是但您的虚拟物品已消失。第一次应用程序运行时,该福彩12选5走势图现在将包含一个空的StringCollection对象。
 
最佳 底部