0

我的 C# 项目中有几个字符串集合,它们存储在设置中。在这个项目开始时,我已经将这些集合初始化为包含 20 个值,全部为 0。最近我意识到我实际上在每个集合中需要大约 100 个 0,所以我去为每个集合添加了 80 个。这工作正常,但现在我看到了奇怪的事情。

我遇到了一个超出范围的异常,当我跟踪它时,它试图访问我的一个字符串集合中索引为 20 的项目。唔。情况不应该如此,所以我去检查我的 stringCollection,它显然太小而无法处理 20 的索引,而且我的 0 中的所有 100 个仍然存在。那么在断点处,我将鼠标悬停在我的字符串集合上,它显示.count= 20。什么?我可以在 settings.settings 文件中看到 100 0。我数了好吗?

所以然后我去删除了那个字符串集合,用相同的名称和相同的内容创建了一个新的集合,这很好。但是我不想为我的设置中的每个字符串集合都重做这个。

有没有人遇到过这个?它是一个错误吗?为什么如果我删除收藏然后重新制作它,它会突然起作用?

编辑:我的配置文件

<?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 循环导致他出现问题

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";
            }
4

0 回答 0