一直没多懂的英语题:关于before和until!!!!

经常在完形填空里做到关于选until还是before的题。比如说:
But it may still be many years ( )this problem could finally be solved.
这道题选before。给的简析是“到这个问题最终解决仍然还要许多年”,until不是也有这个意思吗?以前也遇到过同样的问题,一直不是很懂。希望哪位大侠讲详细些,把until和before在这类问题上的区别全部列出来

列情况下宜用before不用until.

1.主句为肯定式,谓语为终止性动词时只用before.
For example:
1). He fell asleep before I could take off his clothes.
2). We arrived there before it started to rain.
3). The holiday came to an end before I knew it.
4). He almost knocked me down before he saw me.

2.主句谓语动词强调动作的迟缓性,只用before,这时常伴有时间段状语或时间段暗示。
For example:
It was quite a long time before he found the elephant.过了很长时间,他才找到大象。
We had walked a long way before we found some water.走了很长的路我们才找到水。
We had sailed for two days before we saw the land.航行了两天我们才发现陆地。
It was midnight before my brother came home.我哥哥直到半夜才回来。

3.如果强调从句谓语动作未发生就发生主句谓语动作,只用before,这时常译为“未及(不等)……就……”
For example:
1)We can leave early in the morning before it gets too hot.趁天还不太热,我们上午早点离开。
2)I must write it down before I forget it.趁我还未忘,我必须把它记下来。

4.表示“与其说……倒不如……”,“与其……毋宁……”的意思时只用before.
For example:
I would give up my job before I agree to be dismissed.我与其被解雇还不如先辞职。
He will die of hunger before he steals.他宁愿饿死也不愿意去偷。

5.在某些特定句型中用before。
It was (not) long before…(不久)过了很长时间才…
It will (not) be long before…(不到)要过很长时间才会…
For example:
.It will probably not be long before they understand each other.
他们大概过不久就会互相了解。
It was not long before the whole country rose up.
不久全国人民奋起反抗。

三.下列情况一般使用until

1。主句是持续性谓语动词时,肯定,否定都可以,但意义完全不同,肯定表示动作终止,而否定表示动作开始。
For example:
1). We discussed the problem until/before he came back.
我们一直讨论到他回来。
2). We didn’t discuss the problem until he came back.
我们一直等到他回来才讨论问题。

2.Not…until…句型尽管在某些情况下可与before互换使用,但在强调句中一般仍用until;
1). It was not until he told me that I knew it.直到他告诉我我才知道这件事。
2).It was not until he finished his homework that he went home.直到完成作业他才回家。
3)放于句首时用until.
For example:
Antil he finished his homework ,he didn’t go home. 直到完成作业他才回家。
应注意:在使用not until时,若not until放于句首,句子应部分倒装。 For example:
Not until he finished his homework,did he go home. 直到完成作业他才回家
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-04
以你的例子如果把后半句改作...this problem was finally solved.时就要用until了
很明显until后的动作、状态或行为是已经实现了
第2个回答  2008-04-04
楼上的回答对于不会的人那还是不会啊~~~哈哈~姐姐告诉你~前面是一段时间,后面就加BEFORE。明白不,我这是捷近~语法说太多头昏,反正时间段+BEFORE!我这样做还没错过呢~