He should have known the police wouldn't allow it but he didn't.He should have known the police wouldn't allow it_______.A.and he did B.but he didn't C.but he couldn't D.but he had新概念英语第二册中65课的题,为什么选择B项呢?如何翻译这句话?

问题描述:

He should have known the police wouldn't allow it but he didn't.
He should have known the police wouldn't allow it_______.
A.and he did B.but he didn't C.but he couldn't D.but he had
新概念英语第二册中65课的题,为什么选择B项呢?如何翻译这句话?

should have done 是虚拟语气,表示过去本该做,而实际没做的事情。这实际上是过去时。如:
He should have booked the ticket yesterday.
他昨天本该定票的。
=He didn't book the ticket yesterday.
除了should 还有 would, could,和might等也可表示虚拟语气。
不知道能否帮助到你。

should have known 本应知道,但实际并不知道。所以B

C

他应该知道警察不会允许这样做的,但是他却不知道。should have done过去应该做得事情,但是事实上却没有做,的意思。

他应该知道警察不会允许__but he didn't 但是他却不知道
大概就是这么个意思
他应该知道的..但是他不知道

should have done.

从should have done和 the police wouldn't allow的时态来看.should have done是对过去某一情形的虚拟.表示他本应该知道.(也就是说他不知道),"他本应该知道的"表示对实际情况虚拟,而实际情况是什么,是"他不知道",实...

he should have known(他应该知道)主语和谓语
the police wouldn't allow it(警察不允许这样)是这句话的宾语,是宾语从句
but he didn't(但是他不知道)是与上一句衔接的另一句话
should have known 是对过去的虚拟,所以用did
关于虚拟,有不同时态的区别,你可以具体去看一下语法书