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

转载于:https://www.cnblogs.com/Johar/p/5448561.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值