Коллекции строк в настройках не меняют свой размер
У меня есть несколько коллекций строк в моем проекте C#, которые хранятся в настройках. В начале этого проекта я инициализировал эти коллекции, чтобы они содержали 20 значений, все из которых были 0. В последнее время я понял, что на самом деле мне нужно около 100 единиц в каждой коллекции, поэтому я добавил еще 80 к каждой коллекции. Это работает нормально, но теперь я вижу странные вещи.
Я получал исключение из ограниченного диапазона, и когда я последовал за ним, я попытался получить доступ к элементу с индексом 20 в одной из моих коллекций строк. Хм. Этого не должно быть, поэтому я проверяю мой stringCollection, который, по-видимому, слишком мал, чтобы обрабатывать индекс 20, и, конечно же, все 100 моих нулей все еще там. Итак, в точке останова я наведите курсор на мою коллекцию строк, и он говорит .count
= 20. ЧТО? Я буквально вижу 100 0 здесь в файле settings.settings. Я посчитал хорошо?
Итак, я пошел и удалил эту коллекцию строк, создал новую с тем же именем и тем же содержимым, и все в порядке. Но я не хочу идти и переделывать это для КАЖДОГО набора строк, который есть в моих настройках.
Кто-нибудь сталкивался с этим? Это ошибка? Почему, если я удаляю коллекцию, а затем переделываю ее, она вдруг работает?
РЕДАКТИРОВАТЬ: мой конфигурационный файл
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="OPCServer_Simulator.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup><userSettings>
<OPCServer_Simulator.Properties.Settings>
<setting name="portName" serializeAs="String">
<value>COM1</value>
</setting>
<setting name="numItems" serializeAs="String">
<value>0</value>
</setting>
<setting name="recipeCode" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
</ArrayOfString>
</value>
</setting>
<setting name="nomThick" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
</ArrayOfString>
</value>
</setting>
<setting name="nomWidth" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
</ArrayOfString>
</value>
</setting>
<setting name="meas9" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
<string>0</string>
</ArrayOfString>
</value>
</setting> //you get the idea
</OPCServer_Simulator.Properties.Settings>
</userSettings>
</configuration>
РЕДАКТИРОВАТЬ 2: мой цикл, он вызывает проблемы
for (int k = 0; k <= 99; k++)
{
for (int i = 1; i <= 20; i++) //adding the specified number of items to OPC server
{
var value = Properties.Settings.Default["meas" + i] as System.Collections.Specialized.StringCollection;
value[k] = "0";
}
var dataSet = Properties.Settings.Default["dateTime"] as System.Collections.Specialized.StringCollection;
dataSet[k] = " ";
dataSet = Properties.Settings.Default["recipeCode"] as System.Collections.Specialized.StringCollection;
dataSet[k] = "0";
dataSet = Properties.Settings.Default["nomWidth"] as System.Collections.Specialized.StringCollection;
dataSet[k] = "0";
dataSet = Properties.Settings.Default["nomThick"] as System.Collections.Specialized.StringCollection;
dataSet[k] = "0";
}