“have/has gone to + 地点”表示“某人去了某地(还未回来)”,指主语所指的人不在这儿.“have/has been in + 地点”表示“在某地呆了多长时间”,常与表示时间的状语连用.“have/has been to +地点”表示“曾经去过某地(但现在已不在那儿).”
Have been in强调“过去曾去过”之意,表示经验;have been to的意思是“过去到过而现在已返回”,它强调“最近的经历”;have gone to表示“动作的完成”,强调人已离开说话的地方.
通过下列句子的对比,可以分清它们各自不同的涵义:
They have been in Chicago.(1)
They have been to Chicago.(2)
They have gone to Chicago.(3)
(1)句的意思是“他们曾去过芝加哥”,此语强调过去的经历,但没有说明现在是否已回来.言外之意,他们到过芝加哥,他们知道芝加哥在何处,该城市有多大,人口有多少等等.
(2)句的意思是“他们曾到过芝加哥,现在已回来了”.此语强调的是往返的经历.
(3)句的意思是“他们已到芝加哥去了”,此语的言外之意是“也许他们已经到达,也许现在还在途中”,它强调“去”的动作已经完成,所以人已不在说话的地点.