气死我了,搜半天没有,全让序列化再反序列化,又不方便又不美观。结果自己试着一写就通,两行完事。
首先先安装Newtonsoft.Json 包,这个很常用也很简单,随便搜一下安上就行,早晚得学。
然后两行代码:
public static T DeepCopy<T>(T DeepCopyObject) { string _ = JsonConvert.SerializeObject(DeepCopyObject); return JsonConvert.DeserializeObject<T>(_); }
成了
注意,我只实验了class里只有变量的class如下,带上方法的我还没试,懒得实验了,反正我够用了。
public class CreatureData { public RangeType rangeType;//攻击类型(近战melee/远程remote/无攻击能力peace) public float moveSpeed;//移动速度 public float HP;//生命 public float HP_Max;//生命上限 public float attackPower;//攻击力 public float attackRange;//攻击范围 public float attackSpeed;//攻击速度 public DamageType damageType = DamageType.normal;//攻击类型,默认normal public float mass;//质量 } public class CreatureDataList { public List<CreatureData> creatureDataList; }
标签:自定义,float,public,复制,深度,序列化,class From: https://www.cnblogs.com/NxpWaitForLove/p/17114537.html