首页 > Windows开发 > 详细

C# 类的成员的值类型和引用类型

时间:2021-05-05 11:56:25      阅读:33      评论:0      收藏:0      [点我收藏+]

对于类里面的成员的值类型和引用类型的概念一直有点模糊,写个例子加深记忆

第一种

新建2个类

 1 class Box
 2     {
 3 
 4         public Item Item { get; set; }//引用类型
 5         public Box(Item item) => this.Item = item;
 6 
 7 
 8     }
 9     class Item
10     {
11         public string Name { get; set; } = "手机";
12     }

测试

 1 static void Main(string[] args)
 2         {
 3             var item = new Item();
 4             var box = new Box(item);
 5 
 6             Console.WriteLine($"{box.Item.Name}");
 7 
 8             item.Name = "苹果";//更改item的名字
 9 
10             Console.WriteLine($"{box.Item.Name}");
11 
12         }

结果 发生改变

技术分享图片

第二种

 

 1 class Box
 2     {
 3 
 4         //public Item Item { get; set; }//引用类型
 5         //public Box(Item item) => this.Item = item;
 6         public string ItemName { get; set; }//字符串虽然是引用类型,但是引用的时候仍然是创建副本
 7         public Box(string itemName) => this.ItemName = itemName;
 8 
 9 
10     }
11     class Item
12     {
13         public string Name { get; set; } = "手机";
14     }

测试

 1 static void Main(string[] args)
 2         {
 3             var item = new Item();
 4             var box = new Box(item.Name);
 5 
 6             Console.WriteLine($"{box.ItemName}");
 7 
 8             item.Name = "苹果";//更改item的名字
 9 
10             Console.WriteLine($"{box.ItemName}");
11 
12         }

结果 没有变化

技术分享图片

C# 类的成员的值类型和引用类型

原文:https://www.cnblogs.com/AtTheMoment/p/14730947.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!