should have done ;could have done; might have done 有什么区别
发布网友
发布时间:2022-05-15 04:48
我来回答
共2个回答
热心网友
时间:2023-10-09 12:12
should have done:本应该做而没做某事,强调“本来应该”;
could have done:本可以做却没做某事,强调“本来可以”;
might 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.
3. 关于为什么当时没有返回学校拿钥匙,小明解释到:I thought the gate might have already been closed by that time.(学校大门那时候可能早已经关了)
For your reference. Tks!
热心网友
时间:2023-10-09 12:12
should have done 是当初该(有义务)做什么事但是没做的
could have done 是当初能(有能力)做某事但没做的
might have done 是可能做过了某事(表不确定)