c#System.ArgumentNullException:值不能为null。参数名称:source

时间:2017-08-03 16:09:48

标签: c# linq

我创建的程序需要从网站读取信息然后存储它。我收到了错误:

  

System.ArgumentNullException:值不能为空。
  参数名称:来源
     在System.Linq.Enumerable.Select [TSource,TResult](IEnumerable classpath 'com.android.tools.build:gradle:3.0.0-alpha9' 2选择器)

然而,它并不总是错误地运行。因为有时它有效,有时它不起作用。怎么会这样? 这是给出错误行4的代码。

Error:(30, 0): Could not find method classpath() for arguments [com.android.tools.build:gradle:3.0.0-alpha9] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler

1 个答案:

答案 0 :(得分:2)

此异常背后的原因是SelectNodes方法返回的值。有时它返回null,然后您尝试在null上执行Linq操作,它会生成错误。所以你可以对这个

进行空检查
var temp= doc.DocumentNode.SelectNodes("//div[@class = 'today_nowcard-temp']/span");

if(temp != null){
//TODO
}