
两者之间的区别主要体现在动作的主动与被动,以及动作的完成与持续。have sth done表示某事已经被完成,sth是动作的承受者,处于被动状态。例如:I have had my watch repaired,这里的watch是被修理的对象,使用过去分词表示被动。
而have sth doing则强调某事正在被持续进行,sth是动作的发起者,处于主动状态。例如:I had him doing the work all night long,其中him是do的发起者,用现在分词表示动作的进行。
在结构上,have sb/sth do sth与have sb/sth doing sth都让宾语发出主动动作。前者强调动作的完成,后者则强调动作的持续。比如:have sth done这一结构中的宾语与宾补动词之间存在被动关系,而have sth to do中的have则表示“有某事要做”。这些结构在形式上也有变化,如对宾语提问、被动结构等。
进一步解释,have sb do sth侧重于让某人完成一次性的任务,强调动作的完成。例如:I had Mary clean my bedroom yesterday。而have sb doing sth则侧重于让某人持续做某事,强调动作的连续性或反复性,如:He had us laughing during the lunchtime。
总结而言,have sth done与have sth doing在语法和意义上各有侧重,选择使用取决于具体语境和表达的需要。