当你的才华不能撑起你的野心时,就是你该选择学习的时候了!

C# 对象序列化和反序列化复制

    /// <summary>
        /// 对象深度Copy
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static T DeepCopy<T>(T obj)
        {
            if (Object.ReferenceEquals(obj, null))
            {
                return default(T);
            }
            string s = JsonConvert.SerializeObject(obj);
            return JsonConvert.DeserializeObject<T>(s);
        }

        /// <summary>
        /// 对象深度Copy
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static Tout DeepCopy<Tin, Tout>(Tin obj)
        {
            if (Object.ReferenceEquals(obj, null))
            {
                return default(Tout);
            }
            string s = JsonConvert.SerializeObject(obj);
            return JsonConvert.DeserializeObject<Tout>(s);
        }

 

posted @ 2023-07-19 16:15  hofmann  阅读(25)  评论(0)    收藏  举报