为什么可以在没有错误的情况下传递IEnumerable = null但是IList = Null将无法编译?
答案 0 :(得分:1)
那不是真的。您可以将IEnumerable或IList类型的变量设置为空引用,它将进行编译。
您的代码中还有其他内容是错误的。
答案 1 :(得分:0)
这很好用:
IList<int> Foo() {
return null;
}
答案 2 :(得分:0)
很难确切地知道你的意思。你说IEnumerable的空引用可以“无错误地传递”。 '传递'是一个运行时的东西,但你说IList你得到一个编译错误?这听起来很混乱。您需要向我们提供更多信息。
答案 3 :(得分:0)
嗯,问题确切,可能是因为C#区分大小写 - null
是文字,但Null
不是。{{1}}。鉴于您没有发布任何可以实际编译的代码,很难说。
如果您的真实代码中没有问题,请发布您的真实代码,我们会看到我们可以做些什么。