两者之间的区别主要体现在动作的主动与被动,以及动作的完成与持续。havesthdone表示某事已经被完成,sth是动作的承受者,处于被动状态。例如:Ihavehadmywatchrepaired,这里的watch是被修理的对象,使用过去分词表示被动。而havesthdoing则强调某事正在被持续进行,sth是动作的发起者,处于主动状态。例如:Ihadhimdoingtheworkallnightlong,其中him是do的发起者,用现在分词表示动作的进行。在结构上,havesb/sthdosth与havesb/sthdoingsth都让宾语发出主动动作。前者强调动作的完成,后者则强调动作的持续。比如:havesthdone这一结构中的宾语与宾补动词之间存在被动关系,而havesthtodo中的have则表示“有某事要做”。这些结构在形式上也有变化,如对宾语提问、被动结构等。进一步解释,havesbdosth侧重于让某人完成一次性的任务,强调动作的完成。例如:IhadMarycleanmybedroomyesterday。而havesbdoingsth则侧重于让某人持续做某事,强调动作的连续性或反复性,如:Hehaduslaughingduringthelunchtime。总结而言,havesthdone与havesthdoing在语法和意义上各有侧重,选择使用取决于具体语境和表达的需要。