would have done和 should have done的区别是什么?意思分别是什么
1个回答

would/should + have + 过去分词 这是虚拟语气的一种用法.

would have done :表示对过去事情的假设,意思是“本来会做”.

比如:

I would have told you all about the boy's story,but you didn't ask me.我本来会告诉你这个小男孩的故事,但是你没有问我.

should have done:表示对过去事情的假设,意思是本来能够做某事而没有做.含有指责对方或自责的含意.

比如:

Tom,you are too lazy.The work should have been finished yesterday.汤姆,你太懒惰了,这项工作本来应该昨天就做完的.