将var赋值为null以进行两个不同的查询
本文关键字:两个 查询 赋值 var null | 更新日期: 2023-09-27 18:00:46
有没有一种方法可以在不知道返回类型的情况下分配var查询。我想将var初始化为null,然后执行两种不同类型的查询中的任何一种,这些查询返回不同的自定义对象,而不需要事先知道是哪一个。所以我只需要在一个方法中初始化一个查询。
我得到的错误是"无法分配给隐式类型的局部变量">。我试着查找以前的问题和答案,但不明白为什么var不能赋值为null。它不是应该稍后分配给接收到的对象吗?有没有办法使用一个更通用的上层对象类来解决这个问题,该类可以在不知道返回类型的情况下处理这个问题?
var query = null;
if (condition) {
query = /* something */
}
else
{
query = /* something else */
}
var
不能被赋值为null,因为null
中没有类型信息来告诉编译器它是哪种类型的null。var
是编译时的东西——它在编译时需要有一个已知的类型;只是编译器可以从你分配给它的内容中找出这个类型。