你的位置:首页 > ASP.net教程

[ASP.net教程]C#中实现对象间的更新操作

      最近工作的时候遇到一个问题,根据Web端接收到的对象obj1,更新对应的对象值ogj2。先判断obj1中属性值是否为null,

若不等于null,则更新obj2中对应属性值;若等于null,则保持obj2中对应属性值不变。

      先创建Student Class:

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5  6 namespace Property 7 { 8   public class Student 9   {10     public string Name { get; set; }11 12     public string number { get; set; }13 14     public string School {get;set;}15 16     public string Score { get; set; }17   }18 }

View Code

      方法实现:

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5  6 namespace Property 7 { 8   class Program 9   {10     static void Main(string[] args)11     {12       Student std1 = new Student();13       std1.Name = "Zhang San";14       std1.number = "1001";15       std1.School = "Jiangnan University";16       std1.Score = "87.98";17 18       Student std2 = new Student();19       std2.Name = "Li Si";20       std2.Score = "98.98";21 22       Console.WriteLine("Before:");23       foreach (System.Reflection.PropertyInfo p in std1.GetType().GetProperties())24       {25         Console.WriteLine("{0}:  {1}", p.Name, p.GetValue(std1,null));26 27       }28 29       foreach (System.Reflection.PropertyInfo p in std2.GetType().GetProperties())30       {31         //Console.WriteLine("{0}:  {1}", p.Name, p.GetValue(std2, null));32         if (p.GetValue(std2, null) != null)33           p.SetValue(std1, p.GetValue(std2, null), null);34       }35       Console.WriteLine("After:");36       foreach (System.Reflection.PropertyInfo p in std1.GetType().GetProperties())37       {38         Console.WriteLine("{0}:  {1}", p.Name, p.GetValue(std1, null));39 40       }41       Console.ReadKey();42 43     }44   }45 }

View Code

        结果:

  

2016-04-30