2019.11.12学习笔记

今天开始查漏补缺,看各种面试题,先从.net基础开始。

1.值类型和引用类型的区别?写出C#的样例代码。

答:值类型包括简单值类型(int、long、decimal等)、结构体类型、枚举类型。引用类型包括自定义类、数组、接口、委托等。自己记忆的话,值类型就是定义后的对象直接使用该对象的值的类型,而引用类型一般都有可以通过该对象调用的方法或属性的,就是引用类型。
赋值方式:把一个值类型赋值给另一个值类型对象时,是直接把对象的值复制过去的。而把一个引用类型赋值给另一个引用类型时,是复制对象的引用,不复制对象的本身,换句话来说复制的是对象的地址。
派生:值类型无法派生出子类,所有值类型都是派生于System.ValueType。引用类型可以派生出子类。注意一点是属于值类型的结构体类型,也可以与引用类型一样实现接口。
null:值类型不能包含null值,除非是可空值类型。比如 int? a = null
初始化:每个值类型都有一个默认的构造函数来初始化该值类型的默认值。
在内存中的存储方式:值类型存储在栈中。而引用类型存储在动态的堆中,堆可以由程序控制,随时申请和释放堆的空间(.net中的垃圾回收器GC管理的就是堆中的空间)。
样例代码:

static void Main(string[] args)
        {
            StringBuilder a = new StringBuilder();
            var b = a;
            b.Append("hjh");
            Console.WriteLine("before clear,a value:" + a);
            //a = null;//这里并不会清空StringBuilder的堆空间,因此a和b都还是有值的
            a.Clear();//调用StringBuilder的方法清空堆,a、b对象指向的地址都被清空了

            Console.WriteLine("before clear,a value:" + a);
            Console.WriteLine("before clear,b value:" + b);

        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值