I would have come sooner ____possible,but I____that your were still waiting for me.A.it were...didn't konwB.were it ...hadn't knowC.it had been..wouldn't have known D.had it been...didn't know.答案是选D.希望可以解释一下这句话的意思..和为什么选D...

问题描述:

I would have come sooner ____possible,but I____that your were still waiting for me.
A.it were...didn't konw
B.were it ...hadn't know
C.it had been..wouldn't have known
D.had it been...didn't know.
答案是选D.
希望可以解释一下这句话的意思..和为什么选D...

had it been是if it had been的倒装形式.if条件句的虚拟语气都可以这么倒装并且省略if
这句话是明显的虚拟语气
主句would have done表示对过去的虚拟,因此条件从句也必需用对过去的虚拟,那么A和B都错(A,B是对现在的虚拟)
C,D中选择D就是因为上面说的倒装
后面but并列的一个句子则是通过转折进一步说明过去的情况:在那个时候我不知道你在等我.因为这个是真实的,所以用一般过去时didn't know

had it been .
HAD是提前了。在虚拟语气中had.were.should,could.(害的我输的苦得)
在用IF I *** ...(***表示以上4个词语)的时候可以提前。第一个空就是因为 原句应为 if it had been possible所以had提前,变成D选项的样子。后面的空是与现在时间相反,虚拟语气用过去时。
呵呵。

(过去)如果可能的话我当时就会早点来了,但是我那个时候不知道你是不是仍然等待着我
表示过去发生的事情,it had been表示虚拟语气