来自梁福平的问题
【shouldhavedone;couldhavedone;mighthavedone有什么区别】
shouldhavedone;couldhavedone;mighthavedone有什么区别
1回答
2020-06-09 22:33
【shouldhavedone;couldhavedone;mighthavedone有什么区别】
shouldhavedone;couldhavedone;mighthavedone有什么区别
shouldhavedone:本应该做而没做某事,强调“本来应该”;
couldhavedone:本可以做却没做某事,强调“本来可以”;
mighthavedone:可能已经作了某事,强调猜测.
前两个都是假设,是与实际情况相反的假设.第三个是猜测.除此之外,shouldhavedone还明显含有懊悔或责怪之意.
举例来讲:
小明把家里的钥匙放在教室忘记带了.回到家打不开门一直蹲在门口等到晚上10点多加班的爸爸妈妈回来,很晚才进了家门.此场景下
1.小明到家后发现钥匙忘带很懊悔.此时他可能会抱怨自己:Ishouldhavebroughtthekeywithme.
2.那时的小明除了在门外等待爸爸妈妈回来,还有别的解决方案却没做:Hecouldhavecomebacktoschooltogetthekeybuthedidn't.
又如,当爸爸妈妈那么晚回来发现小明在门外,问明原因后,爸爸妈妈问他为什么当时不返回学校拿钥匙.爸爸妈妈认为若小明当时返回学校拿了钥匙的话可能早就进去了.爸爸妈妈可能会说:Youcouldhavecomeinmuchealierifyoucamebackschooltogetthekeythen.
3.关于为什么当时没有返回学校拿钥匙,小明解释到:Ithoughtthegatemighthavealreadybeenclosedbythattime.(学校大门那时候可能早已经关了)
Foryourreference.Tks!