• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#中实现对象间的更新操作

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

      最近工作的时候遇到一个问题,根据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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#发送邮件程序及测试邮件服务器发布时间:2022-07-14
下一篇:
C++二进制文件读写发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap