символ пробела не сохраняется в Settting.Default StringCollection - PullRequest
0 голосов
/ 02 мая 2019

Я создал класс 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>&#x20;</string> и <string>&#32;</string> print ''

edit 2) Добавление свойства xml:space="preserve" в ArrayOfString, кажется, заставляет его работать, но это свойство также исчезает приSettings.Default.Save();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...