我总是得到以下错误:
"系统。ArgumentOutOfRangeException '
我正在从PLC动态接收双输入。我无法将输入保存在列表中。我不知道为什么。有人能帮忙吗?
string str = stringArray[1];
double value = double.Parse(str, CultureInfo.InvariantCulture);
List<double> list = new List<double>();
List<double> result = new List<double>();
while (true)
{
int i;
for (i = 1; i < 3 - 1; ++i)
{
list.Add(value);
result[i] = (list[i - 1] + list[i] + list[i + 1]) / 3; //The error is here
dataHub.ServerTemp(result);
}
}
for (i = 1; i < 3 - 1; ++i)
本质上与i = 1
相同(从1开始,但不要到2)
所以你的代码要做的是:
- 在
list
列表中添加一个double ( - 更新列表
result
中的第二项(第一个问题,result
初始为空),取list
中第一项,第二项和第三项的平均值(第二个问题-list
有一个元素)。
value
)result[i]不存在。这就是为什么你得到超出范围的错误