![](/img/trans.png)
[英]System.ArgumentNullException: 'Value cannot be null. Parameter name: key'
[英]c# System.ArgumentNullException: Value cannot be null. Parameter name: source
我创建的程序需要从网站上读取信息,然后将其存储。 我收到错误消息:
System.ArgumentNullException:值不能为null。
参数名称:来源
在System.Linq.Enumerable.Select [TSource,TResult](IEnumerable1 source, Func
2选择器)处
但是,它并不总是错误运行。 正如有时它起作用,有时却不起作用。 怎么会这样? 这是给我错误行4的代码。
IEnumerable<string> webtemp = Enumerable.Empty<string>();
if (datastring.Contains("today_nowcard-temp"))
{
webtemp = doc.DocumentNode.SelectNodes("//div[@class = 'today_nowcard-temp']/span").Select(d => d.InnerText.Trim());
foreach (var this_header in webtemp)
{
string[] temporary = this_header.Trim().Replace("Â", "-").Replace(" ", "-").Split('-');
int f = (Convert.ToInt32(temporary[0]));
_actualData[0].temp = GetCelsius(f);
//Console.WriteLine(_actualData[0].temp);
}
}
此异常的原因是您的SelectNodes方法返回的值。 有时它返回null,然后您尝试对null执行Linq操作,并生成错误。 因此您可以对此执行空检查
var temp= doc.DocumentNode.SelectNodes("//div[@class = 'today_nowcard-temp']/span");
if(temp != null){
//TODO
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.