关于for many years的疑惑

1个回答

  • 现在完成时使用可以有两种情况:

    (1)动作从过去开始,持续到现在.

    eg: I have lived here for three years. (live这个动作从过去开始,持续到了现在.)

    (2)动作发生在过去,对现在造成了影响.

    eg: He has come. (come这个动作已经发生,“他已经来了”表示他现在在这里.)

    要注意:归根到底,现在完成时属“现在时”,虽然动作已经发生,但必须和现在有关系,要么持续到现在,要么对现在有影响.

    从题干中“我(到现在为止)从不后悔最终回国的决定”可知“在伦敦住了很多年”应该是过去的事情,而且这个动作既没有持续到现在也没有对现在造成影响,也就是说,没有使用现在完成时的条件,所以不能用have lived, 只能选A.

    *如果没有后半句话,那 I have lived in London for many years 是没有错误的.