Я создал класс StringCollection
в настройках своих приложений wpf, с таким массивом:
' ', 'a', 'b', 'c' ...
, но когда я получаю эти настройки из кода и распечатываю их один за другим, он выводит на печать:
'', 'a', 'b', 'c' ...
символ пробела потерян.
Итак, я посмотрел на файл .config
, это было так:
...
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string />
<string>a</string>
<string>b</string>
<string>b</string>
</ArrayOfString>
</value>
...
Я изменил <string />
до <string><![CDATA[ ]]></string>
и тогда все работало так, как я хотел.
Но проблема в том, что пользователь добавляет другое значение, и программа снова сохраняет это значение с помощью Settings.Default.Save();
<string><![CDATA[ ]]></string>
снова превращается в
<string />
.Вопрос: есть ли способ сохранить все данные в файле .config
с помощью <![CDATA[ ]]>
?
Или есть какой-нибудь другой способ сохранить пробел в файле .config
с кодом?
edit 1) <string> </string>
и <string> </string>
print ''
edit 2) Добавление свойства xml:space="preserve"
в ArrayOfString
, кажется, заставляет его работать, но это свойство также исчезает приSettings.Default.Save();