154 needn't,could 和 should + 完成式 
                  A needn't + 完成式常常和 could + 完成式结合使用。这种用法最好通过例句来说明: 
                  —I wanted a copy of the letter,so I typed it twice. 
                  —You needn't have typed it twice.You could have used a carbon. 
                  —我需要那封信的副本,所以我打了两遍字。 
                  —你没必要打两遍。你当时本可以用复写纸打。 
                  —I walked up six flights of stairs. 
                  —You needn't have walked up;you could have taken the lift. 
                  —我爬了六层楼梯。 
                  —你没必要走着上去;你本来可以乘电梯的。 
                  —She stood in a queue to get an Underground ticket. 
                  —But she needn't have stood in a queue.She could have got a ticket from the machine. 
                  —她排队买一张地铁车票。 
                  —可她本来不需要排队。她本可以在售票机那儿买票。 
                  B needn't have 和 should have 的比较 
                  should 或 ought to 在以上A的例句中都可以代替 need 或 could: 
                  She shouldn't have stood in a queue.She should have got tickets from the machine. 
                  她本来就不该去排队。她应当在售票机那儿买票。 
                  但这里存在着含义上的差别: 
                  She shouldn't have stood in a queue. 
                  她本来就不该去排队。(她排队是错误的或愚蠢的。) 
                  She needn't have stood in a queue. 
                  她本不必去排队。(这样做是不必要的,但她却排了队。) 
                  shouldn't have(done)有批评之意。 
                  needn't have(done)不含有批评之意。  |