您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

2026-03-31 08:281阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计477个文字,预计阅读时间需要2分钟。

您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

目录+C

目录
  • C#实体类转换方式
    • 以下提供两种方式
    • 实现功能
    • 开发环境
    • 实现代码
  • C#实体类转为JSON字符串
    • 总结

      C#实体类转换方式

      将一个实体类的数据赋值到另一个实体类中(亦或者实现深拷贝)。

      您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

      以下提供两种方式

      • 一种是序列化
      • 一种是泛型+反射

      实现功能

      • 两个实体类数据转换赋值

      开发环境

      • 开发工具: Visual Studio 2013
      • .NET Framework版本:4.5

      实现代码

      //学生类    private class Student {     public string name { get; set; }     public int age { get; set; }     public string className { get; set; }   } //教师类 private class Teacher {     public string name { get; set; }     public int age { get; set; }     public string sex { get; set; } } //给学生类赋值  Student student = new Student  {      name = "张三",      age = 20,      className = "六"  };  //泛型+反射方式  Teacher teacher = ConvertModel<Teacher, Student>(student);  Console.WriteLine(teacher.name);//张三  Console.WriteLine(teacher.age);//20  Console.WriteLine(teacher.sex);    //JSON序列化方式  teacher = null;  string json = JsonConvert.SerializeObject(student);  teacher = JsonConvert.DeserializeObject<Teacher>(json);  Console.WriteLine(teacher.name);//张三  Console.WriteLine(teacher.age); //20  Console.WriteLine(teacher.sex);      //泛型+反射 public static T ConvertModel<T, P>(P pModel) {     T ret = System.Activator.CreateInstance<T>();       List<PropertyInfo> p_pis = pModel.GetType().GetProperties().ToList();     PropertyInfo[] t_pis = typeof(T).GetProperties();       foreach (PropertyInfo pi in t_pis)     {         //可写入数据         if (pi.CanWrite)         {             //忽略大小写             var name = p_pis.Find(s => s.Name.ToLower() == pi.Name.ToLower());             if (name != null && pi.PropertyType.Name == name.PropertyType.Name)             {                 pi.SetValue(ret, name.GetValue(pModel, null), null);             }           }     }       return ret; }

      C#实体类转为JSON字符串

      string jsonstr = JsonConvert.SerializeObject(model);

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

      本文共计477个文字,预计阅读时间需要2分钟。

      您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

      目录+C

      目录
      • C#实体类转换方式
        • 以下提供两种方式
        • 实现功能
        • 开发环境
        • 实现代码
      • C#实体类转为JSON字符串
        • 总结

          C#实体类转换方式

          将一个实体类的数据赋值到另一个实体类中(亦或者实现深拷贝)。

          您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

          以下提供两种方式

          • 一种是序列化
          • 一种是泛型+反射

          实现功能

          • 两个实体类数据转换赋值

          开发环境

          • 开发工具: Visual Studio 2013
          • .NET Framework版本:4.5

          实现代码

          //学生类    private class Student {     public string name { get; set; }     public int age { get; set; }     public string className { get; set; }   } //教师类 private class Teacher {     public string name { get; set; }     public int age { get; set; }     public string sex { get; set; } } //给学生类赋值  Student student = new Student  {      name = "张三",      age = 20,      className = "六"  };  //泛型+反射方式  Teacher teacher = ConvertModel<Teacher, Student>(student);  Console.WriteLine(teacher.name);//张三  Console.WriteLine(teacher.age);//20  Console.WriteLine(teacher.sex);    //JSON序列化方式  teacher = null;  string json = JsonConvert.SerializeObject(student);  teacher = JsonConvert.DeserializeObject<Teacher>(json);  Console.WriteLine(teacher.name);//张三  Console.WriteLine(teacher.age); //20  Console.WriteLine(teacher.sex);      //泛型+反射 public static T ConvertModel<T, P>(P pModel) {     T ret = System.Activator.CreateInstance<T>();       List<PropertyInfo> p_pis = pModel.GetType().GetProperties().ToList();     PropertyInfo[] t_pis = typeof(T).GetProperties();       foreach (PropertyInfo pi in t_pis)     {         //可写入数据         if (pi.CanWrite)         {             //忽略大小写             var name = p_pis.Find(s => s.Name.ToLower() == pi.Name.ToLower());             if (name != null && pi.PropertyType.Name == name.PropertyType.Name)             {                 pi.SetValue(ret, name.GetValue(pModel, null), null);             }           }     }       return ret; }

          C#实体类转为JSON字符串

          string jsonstr = JsonConvert.SerializeObject(model);

          总结

          以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。