我问推理引擎一个问题如下,如果返回结果,我想获得第一个 Fact,对于第一个 Query(问题由 Query 中的 2 个 Atoms 组成)。
strAnswer = IIf(InfEng.RunQuery(Question).Count > 0, InfEng.RunQuery(Question)(0)(0).ToString, "No Answer")
这会引发错误
异常详细信息:System.ArgumentOutOfRangeException:索引超出范围。 必须为非负数且小于集合的大小。参数名称:index"当查询计数 = 0 时。在“观察”窗口中,它的计算结果为 0,并且当我打开评估语句时显示消息:错误且没有子项。当查询返回 Facts 时,这会顺利进行。
我替换.Any
了 ,而不是 Count,但这也没有用。
当我将其更改为标准If-Then-End If
时,它适用于所有情况......并且与.Count
&.Any
我做错了什么?