C#WCF服务越界数组索引
所以我有一个服务实例化一个对象数组,然后为这些对象启动一个新的进程。在从另一个线程中的对象获取一些数据之前,我等待实例化和新进程启动。出于某种原因,当我尝试读取数据时,我会跳出界限索引。它似乎试图访问比我定义的更大的索引(当最后一个索引是Os [3]时尝试访问Os [4]),因此超出限制?这可能是什么原因造成的?C#WCF服务越界数组索引
lock (initlock) {
for (threadNum = 0; threadNum < 4; threadNum++)
{
Os[threadNum] = new myO();
Thread TOs[threadNum] = new Thread(new ThreadStart(Os[threadNum].ProcessData));
TOs[threadNum].Start();
}
}
lock (initlock)
{
for (int i = 0; i < 4; i++)
{
Thread rd[i] = new Thread(new ThreadStart(() => Os[i].GetData());
rd[i].Start();
}
}
回答:
for (int i = 0; i < 4; i++) {
int index = i;
Thread rd[index] = new Thread(new ThreadStart(() => Os[index].GetData());
rd[index].Start();
}
更this answer。
以上是 C#WCF服务越界数组索引 的全部内容, 来源链接: utcz.com/qa/259529.html