虚拟语气中had done与would have done,did与would do 的用法有何区别

问题描述:

虚拟语气中had done与would have done,did与would do 的用法有何区别

当主句与if条件句中的动作都发生在过去时,主句谓语动词就要使用had done形式,if条件句中谓语动词则要使用would have done形式 .e.g.If I had worked hard,I would have passed all the exams.
当主句以及if条件句中的动作都发生在现在时,主句的谓语动词必须使用did(be动词用were),if条件句动词须使用would do形式.e.g.
If he came on time for the meeting,I would treat you to a rich meal.
If I were you,I would go with him.
当主句和if条件句的动作都发生在将来时,主句动词可以使用did,should do 或were to do形式,if条件句中动词须使用would do形式.
e.g.If you kept/should / keep were to keep your promise,you would earn more than trust.