我觉得标题有误导性,如果您愿意,请编辑。当我这样做时:
var q = (condition)?(from ...Select(..)): (from.. Select(..));
我在“:”处收到错误说
Type of conditional expression could not be determined because
there is no implicit conversion between anonymous types.
但如果我这样做:
var b = some base linq query;
var q = (condition)?(use b here one way):(use b here differently);
没什么好抱怨的。为什么?第二种方式有什么不同?
编辑:
在任何地方,我的最终预测都是一样的。(最终的 .Select(....) 到处都有相同的字段)
编辑2:
我道歉..我的错字。各处的 Select() 都不相同。如果投影“匹配”,方法 1 也可以正常工作