小白的《C#图解教程》学习笔记(一到三章)
唠唠嗑
嗨,我是小白,如果你不喜欢看一整本书而是带着轻松的心情看别人学习一本书,或者喜欢通过和人讨论的模式来进行学习,就来关注我吧。
如果有比我还小白的小白们有非常非常基础的问题要问,我会根据私信人数出期特别的,简单易懂的教程哦。
最近在成都拿到一个U3D开发的offer,面试的时候给人感觉是很好的公司,让处于迷茫期的我有了实际的第一份工作,想了很久还是做游戏能够激发我的学习热情呀,加油!
这本书《C#图解教程》一共二十六章,计划九月前读完!
系列文章会记录我认为最有价值的内容哦。
不过都是根据我的理解加工过的内容,可能会有那么百分之二的部分有根本上的错误,也有可能会因为人与人看待事物的差异而导致你理解错我的意思,所以建议先对我的话有想法,然后去利用搜索引擎或者官方文档提供的信息进行验证哦。
也可以和我 深 入 交 流 哦。
总目录
这是这本书的目录( ̄▽ ̄)~*
本文章阅读目录
一、.NET
虽说这本书叫C#图解教程,但在学习C#之前,了解一下它所属的框架以及它进行工作的原理会更好。
1. 这个框架(.NET)是什么?
首先,我要讲的这个是微软的一个产品,而不是一个类似.com的域名(.net)。
它是一个框架,用来开发你想要的东西的框架,我之前对它的认识是一门语言,还和visual studio挂钩,但看完这本书,我发现我之前这种认识也不是没有道理。
鉴于我之前使用过JAVA,用JAVA打个比方的话,.NET和JAVA非常相像。
你看,JAVA的工作原理是什么?你写完一个.java文件,先编译成字节码,然后放到JVM里解释成机器码执行,然后程序就跑起来了,对吧。
.NET的工作原理也是这个先编译成某个文件再放到某个东西里执行的过程,比如你要使用C#,编写好一个源代码文件,先经过C#语言编译器编译成一个叫做程序集的东西,,程序集的主要内容是CIL,它的中文名称叫做公共中间语言(都有中间俩字了,你肯定明白它不是最终执行的东西),然后程序集由一个叫做CLR(你可以把它理解成JVM)的东西编译(这里我不知道能不能称作解释,但是它是运行时编译)成本机代码(机器码),然后程序就跑起来了。
它和JVM不同的地方在于,JVM有个热点代码检测的东西,一段代码如果总是被调用,调用到一定次数的话那编译内容就会储存到内存里,以后使用这段代码直接从内存提取编译完成的本机代码而不是每次都解释执行,而CLR是只要一段代码被用到了,被编译了,那以后也不会再编译了,因为编译内容会被保存下来以后直接使用。 甚至还有一种叫Ngen的工具,你可以把程序集全部一次变成可运行的本机代码,这意味着通过.NET你不仅拥有了解释型语言的跨平台性,也拥有了编译型语言的高效率,个人分析.NET比JAVA的效率会高很多,因为CLR的只编译一遍的特性,也就第一次会比JAVA慢点。如果有小伙伴看不懂我这段话,可以看我的这篇文章:
小白也能看懂,编译型语言与解释型语言到底是什么?原理类(一).
.NET还有一些特性,面向对象,GC机制,都和JAVA很像。
只是,.NET支持的语