for long 用于否定句和疑问句, for a long time 用于肯定句。所以,for long和 for a long time在句中不可以随便互换使用。例如:
She won’t be away for long. 她不会离开太长时间。(《剑桥中阶英汉双解词典》p.601)
I haven’t known them for long. 我认识他们没多久。(《麦克米伦高阶英汉双解词典》p.1239)
Have you been married for long? 你结婚很久了吗?(同上)
She thought about it for a long time. 这件事她考虑了很长时间。(同上,p.2202)
基本同意黎老师的观点。
1)从语法的角度考虑,for long一般不用于肯定句,而是用于否定句、疑问句、条件句。
for a long time则不受此限制。
例如:
Have you known them for long?
Her life did not remain peaceful for long.
如果肯定句里想用for long怎么办?可以用for too long。
2)从语义的角度考虑,在否定句中,not ... for long往往相当于not for long(=for a short time),即构成否定转移,而not ... for a long time可能是否定转移。也可能不是否定转移。
例如:
He is always sick, and he may not live for long(可换为for a long time,否定转移).
注意:not ... for so long则又可能不是否定转移。
例如:
I’m sorry I haven’t written to you for so long(可换为for a long time).
鉴于以上情况的复杂性,虽然两者可以在一定程度上进行互换,但总体上还是不要随便互换为好。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!