牛津实用英语语法 153 needn't have(done)和didn't have/
A needn't have done意指没必要干某件事但多余地干了,即浪费了时间:
You needn't have watered the flowers,for it is going to rain.
你本不必浇那些花,因为就要下雨了。(你浪费了时间。)
You needn't have written such a long essay.The teacher only asked for
300 words,and you have written 600.
你本不必写这么长的文章。老师只要求写300个字而你却写了600个字。
He needn't have bought such a large house.His wife would have been quite happy in a cottage.
他没必要买这么大一所房子。他的妻子住在一个小房子里也会感到很满意的。(浪费了钱)
You needn't have carried all these parcels yourself.The shop would have delivered them if you had asked them.
你本来没有必要自己拿着这些大包小裹的。要是当时你跟商店说一声,他们就会把东西送来的。
B didn't have/need to do意指不一定非干某事,而通常也并没有这样做:
I didn't have to translate it for him for he understands Dutch.
我用不着替他翻译,因为他懂荷兰语。
I didn't have to cut the grass myself.My brother did it.
我用不着自己修剪草坪。我的兄弟修剪过了。(无义务,而且无行动)有些人的确把didn't have to/didn't need to用于表示已完成的动作,这时 have或 need都要加以重读:You didn't 'have to give him my name通常意味着没有必要告诉他我的姓名,但是你却告诉了他。但当一个不必要的动作实际已完成了时,还是用needn't have+过去分词为好:
You needn't have given him my name.
你本来没必要把我的姓名告诉他的。