





























2021年开春,事业部开启了新一轮招聘;总的来就一个字感觉“难”,两个字“很难”,招不到的原因很多。
不过在面试的过程中,发现很多人C#基础知识都不掌握。其中存在大量工作好几年的人。
所以,借此把一些基础知识做个回顾:
1、关于引用类型的问题
//定义类Person,其中有属性Name
class Person { public string Name { get; set; } } static void Main(string[] args) {
//定义变量a,并赋值实例化Person Person a = new Person(); a.Name = "张三";
//定义变量b,直接赋值b=a Person b = a;
//赋值b.Name b.Name = "李四"; Console.WriteLine($"a.name={a.Name}"); Console.ReadLine(); }
请问,现在a.Name值等于多少,b.Name等于多少?

答案肯定是是:李四。
看起来很简单,却有很多人回答错误。
原因如下:
首先对于class类来讲,肯定属于引用类型,对于引用类型。那么b=a的赋值来说,所引用的内存地址完全为同一个,所以当b改变时,a也会随之改变。
那么,如何实现改变b属性的值不影响a的值呢?这里就必须实现类对象的深拷贝,或者独立引用。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。