0

在我的应用程序Settings.Default.test中是一个StringCollection. 我不明白为什么这段代码

    StringCollection col = new StringCollection();
    col.Add("1\r\n2\r\n");
    Settings.Default.test = col;
    Settings.Default.Save();
    Settings.Default.Reload();

将我的文本更改1\r\n2\r\n1\n2\n重新加载。它是默认行为还是什么?如何在我的应用程序重新启动时恢复我的文本框中的多行文本?

4

1 回答 1

1

将数据保存到 user.config 设置后,它将如下所示: (c:\users[username]\appdata\local[appname]..\user.config)

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <userSettings>
        <EmptyObjects.Properties.Settings>
            <setting name="Setting" serializeAs="Xml">
                <value>
                    <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                        <string>1
2
</string>
                    </ArrayOfString>
                </value>
            </setting>
        </EmptyObjects.Properties.Settings>
    </userSettings>
</configuration>

数据被序列化为 XML,然后反序列化为字符串。如果您需要保留信息,您可以:

于 2012-04-16T11:19:03.453 回答