public struct ST { int a; int b; public void set(ST s1 , ST s2) { s1.a = s2.a; s1.b = s2.b; } public ST(ST s) { this.a = s.a; this.b = s.b; } } 至于这个动作,在c#中不需要些,因为C#里面的结构体本来就是值引用,直接用=就ok了, ST&operator=(constST&s)//重载运算符{ set(this,(ST*)&s) }