C# 设置上的StringCollection更改。默认值。重新加载()

C# 设置上的StringCollection更改。默认值。重新加载(),c#,visual-studio,.net-2.0,C#,Visual Studio,.net 2.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

在我的应用程序中,
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\n
更改为
1\n2\n
。 这是默认行为还是什么?
如何在重新启动应用程序时恢复“我的文本框”中的多行文本?

当数据保存到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>