我使用线程池进行多线程处理,每当我尝试启动请求时,我都会
Object reference not set to an instance of an object.
on
Application.Run(new Form1());
没有代理服务器我没有同样的问题
这是导致问题的代码
if (ProxyBox.Text != string.Empty)
{
lock (locker)
{
Random rnd = new Random();
int rndd = rnd.Next(0, int.Parse(ProxyNumber.Text));
request.Proxy = new WebProxy(proxysplit[rndd].ToString());
}
}
Basicaly我想每次从proxysplit数组中获取一个随机代理
任何想法:?
答案 0 :(得分:1)
在我们为您提供帮助之前,您需要回答多个问题:
null
)? proxysplit
是否已初始化? 检查未初始化的内容,您可能还想生成介于0和proxysplit
中元素数量之间的随机数:
if (ProxyBox.Text != string.Empty)
{
lock (locker)
{
Random rnd = new Random();
int rndd = rnd.Next(0, proxysplit.Length);
request.Proxy = new WebProxy(proxysplit[rndd].ToString());
}
}
如果使用ProxyNumber
且结果整数超出proxysplit
数组长度的范围,那么在尝试访问超出范围的元素时也可能会出现异常,即{ {1}}。