should have done和could have done的区别

如题所述

should have done和could have done的区别为:

一、指代不同

1、should have done:本应该。

2、could have done:本可以做到的。

二、侧重点不同

1、should have done:表达一种责备或内疚的语气。

2、could have done:表示对过去事情的假设。

三、引证用法不同

1、should have done:在表示意向、要求、决定、建议等意义的从句里,如果主句的谓语动词是过去式,则从句中的should既可看作情态动词shall的陈述语气过去式,也可看作它的虚拟语气,但当句子的语气不够委婉时宜看作前者。

2、could have done:could用于疑问句中并不表示过去时,而是表示现在时,此时语气比较委婉,有时表示把握不大或犹豫; could用于特殊疑问句常含有惊讶、迷惑等感情色彩。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-03
should have done:本应该做而没做某事,强调“本来应该”;
could have done:本可以做却没做某事,强调“本来可以”;

前两个都是假设,是与实际情况相反的假设。第三个是猜测。除此之外,should have done还明显含有懊悔或责怪之意。

举例来讲:

小明把家里的钥匙放在教室忘记带了。回到家打不开门一直蹲在门口等到晚上10点多加班的爸爸妈妈回来,很晚才进了家门。此场景下

1. 小明到家后发现钥匙忘带很懊悔。此时他可能会抱怨自己:I should have brought the key with me.

2. 那时的小明除了在门外等待爸爸妈妈回来,还有别的解决方案却没做:He could have come back to school to get the key but he didn't.

又如,当爸爸妈妈那么晚回来发现小明在门外,问明原因后,爸爸妈妈问他为什么当时不返回学校拿钥匙。爸爸妈妈认为若小明当时返回学校拿了钥匙的话可能早就进去了。爸爸妈妈可能会说:You could have come in much ealier if you came back school to get the key then.

真情为您解答,敬请采纳,
如对本题还有疑问可追问,Good luck!
第2个回答  2015-03-03
should have done
本该做(但实际没做)【含有责任性】
could have done
本可以做(但实际没)【含有客观情况或别的因素】本回答被提问者和网友采纳
相似回答