这道题选B
现在完成时have done就是“直到现在这个时间点,做过了什么事儿”
若选C(过去完成时)是指“到过去某个时间点前,做过什么事儿”
B:我以前看过。(我到现在为止看过。)
C:我那时(以前的某个时间)已经看过了。
我想LZ纠结的地方在于“before”,觉得“before不是以前吗?当然应该是过去完成时啊”,其实这里是陷阱,呵呵,LZ多想了~~
“before”是“....以前”,是指的一个时间段:
1.因为这里只用了“before”,所以是指“现在”的“以前”,其实是个省略句即“I have seen it before (now).”应用现在完成时;
2.如果before后面加的时间点不是现在,而是"以前的某个时间点",那么这个“时间段”就在“以前的那个时间点”截止,当然就是应该用过去完成时,例如:
I had seen it before last Sunday.我上个星期天前就已经看过了。
其实凭语感最简单,老外是无论如何也不会说出“I had seen it before"的....
中国语法题不会考这么复杂的分析,所以那些看似复杂的选项很多都是陷阱的,建议LZ答题时要放松~~