4 表示过去的虚拟条件句为什么不用过去完成时

看到这样一个句子,if 从句明显是表示过去吧?为什么表示过去的虚拟条件不用过去完成时,而用了一般过去时?

If I knew that I would never have come.

请先 登录 后评论

最佳答案 2023-03-18 12:45

If I knew that I would never have told him.

网友的句子可以用过去完成时,而且通常应该如此:

If I had known that I would never have come. 我如果早知道的话,我是绝不会来的。

比如下面的句子,if虚拟条件句均是针对过去情况,均用的是过去完成时:

If I had knownI’d have told you. 如果我知道,我就告诉你了。

I could have warned you if I had known where you were. 我要是知道你在哪里的话就提醒你了。

I might have called if I had known you were here. 假如我知道你在这儿,我或许就会打电话了。

If I had known that you were coming I would have met you at the air-port. 要是我早知道你要来的话,我就会在机场接你了。

I wouldn’t have been so depressed if I had known how common this feeling is. 如果早知道这种感觉如此普遍,我就不会那么沮丧了。

If I had known you were in the office building, I would have looked you up. 如果知道你在办公楼里,我就来找你了。

但是不是网友的句子用一般过去时就错了呢?也不是!因为在现代英语中,有时也会在if从句该用过去完成时的地方使用一般过去时,这种用法在美国英语中尤其常见。请看 Swan 在其 PEU 中的相关说明:

attachments-2022-09-QB1NRBEc632ef561cc393.jpg

请先 登录 后评论

其它 0 个回答

  • 2 关注
  • 3 收藏,1100 浏览
  • 肖晓英   提出于 2022-09-24 18:50

相似问题