Explanation
The auxiliary verb “shouldn’t have” is used to express the wish that something had not happened but it did (should not + have + past participle). “Shouldn’t have” (bought this) in option A concurs with the given context as the reference in the context is to buying white cheese and not the one that was actually bought. Thus, this is correct.“Hadn’t to have” in option B is grammatically incorrect. “Mustn’t have” in option C in incorrect as it is used to indicate that something did not happen. This does not concur with the sentence. “Wouldn’t have” is used to express preference, wish or desire for some action not to have taken place. Option A is a better fit in the given context. Thus, option A is correct.
The auxiliary verb “should” is the past form of shall. It is used to express something that you wish had happened but it didn’t or couldn’t (should + have + past participle). The context refers to an action that should have taken place yesterday evening. Thus, “should have done” in option A is the correct answer. “Had done” in option B does not concur with the given context as it indicates an action that might have taken place in the past. “Should do” in option C indicates an action that is expected or is correct. However, the context refers to a time in the past when an action should have taken place. This is incorrect in the given context. “Would do” in option D is used to express a wish or desire. This is incorrect in the context. Thus, option A is the correct answer.
Please disable the adBlock and continue. Thank you.