could have done 及类似虚拟语气结构
含义:本来可以……(但没做)——表示过去有能力/可能性做某事,但实际没有做
We could have also written that if statement in one line but I find this way more readable. 我们本来也可以把那个 if 语句写成一行,但我觉得这样更易读。
结构
情态动词 + have + 过去分词,用于谈论过去未发生的事。
| 结构 | 含义 | 例句 |
|---|---|---|
could have done | 本来能做(但没做) | I could have passed the exam, but I didn’t study. |
would have done | 本来会做(但没做) | I would have helped, but you didn’t ask. |
should have done | 本来应该做(但没做) | You should have told me earlier. |
might have done | 本来可能做了 | She might have left already. |
needn't have done | 本来不必做(但做了) | You needn’t have bought so much food. |
注意
- 口语中常缩写:
could've、would've、should've、might've should have done常带后悔/责备语气needn't have done比较特殊——事情做了,但事后发现没必要