工作之外暂没有可以上手写的东西,这周主要内容还是对C#一些关于类型的知识进行巩固,涉及到的书籍主要是深入理解C#(第3版)
- 值类型和引用类型
先从现实生活中的值和引用来讨论这点:
假设你正在读一份报纸,觉得里面的内容很棒,希望一个朋友也去读,影印了报纸的全部内容并交给他。届时,他将获得属于他自己的一份完整的报纸。在这种情况下,我们处理的是值类型的行为。所有信息都在你的手上,不需要从任何其他地方获得。制作了副本之后,你的这份信息和朋友的那份是各自独立的。可以在自己的报纸上添加一些注解,他的报纸根本不会改变。
再假设你正在读的是一个网页。与前一次相比,这一次,唯一需要给朋友的就是网页的URL。这是引用类型的行为,URL代替引用。为了真正读到文档,必须在浏览器中输入URL,并要求它加载网页来导航引用。另一方面,加入网页由于某种原因发生了变化(如一个维基页面,你在上面添加了自己的注释),你和你的朋友下次载入页面时,都会看到那个改变。
.NET中大多数类型都是引用类型
类(使用class来声明)是引用类型,而结构(使用struct)来声明是值类型。特殊情况包括:
1.数组类型是引用类型,即使元素类型是值类型&