should have done, would have done, could have done的区别

 我来答
蛇喰梦子的猫牌Ps
2023-01-03 · TA获得超过923个赞
知道小有建树答主
回答量:2168
采纳率:80%
帮助的人:128万
展开全部
三者有交集的地方
should have done 是说 一件事情本来是有益/有帮助的/想做好的事情 你并没有做到 因而给你之前的动作提出另外一种建议的含义。
could have done是说一件本来有可能完成的事情你没有做到 重在说可能性,
would have done 是说一件一定可以完成的事情 你没有做到 这是对假象的结果(唯一)的猜测

比如说你考试没过你老师和你说 u should have passed the exam.你应该要过的(过了肯定对你有好处,)对你提出建议,如果是couldhave就是你本来可以过的(你有可能性/机会过的,这种可能性/机会包括个人能力或者是外部条件都行,但是你没过),wouldhave就是说你本来一定可以过的(你来了肯定过,但是可能是发生意外了,你没去考试)
此外,should have done 还可以表示后悔和自责的情绪 或者是给当下提建议 还有表示客气 或者是表示一件事情按计划/常识来看应该已经发生了。看语境需要 当你说 u should have done sth 不一定是指责他 ,比如有人做什么事情没做成,而你知道怎么做,你可以说 u should have told me. 你应该告诉我的,言下之意是你以后要做可以找我帮你。
表客气是比较固定别人送你礼物的时候你可以说 u should not have.
表示按计划/常识应该已经发生了 比如 按他的预期他现在已经完成了 可以说 if everything goes as expected, he should have finished work by now.
couldhavedone也可以单纯的表示对过去的猜想等于itwaspossiblethat..比如一个人迟到了,你可以说hecouldveoverslept.
could not have 就是 it was impossible that...
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式