果壳中的C#--学习笔记Day1

类型安全性:

        C#首先是一种类型安全的语言,这意味着类型只能够通过他们定义的协议进行交互,从而保证每一种类型的内部一致性。例如,c#不允许将字符串类型作为整型进行处理。

        C#支持静态类型化,这意味着这种语言会在编译时执行静态类型安全性检查。另外一种是动态类型安全性,.NET CLR在运行时执行动态类型安全性检查。

        静态类型化能够在程序运行之前去除大量的错误。将大量的运行时单元测试转移到编译器中,验证程序中所有类型之间都是相互合适的。而且,静态类型化使一些诸如VS等工具更有助于编写程序,因为他知道某个特定变量类型是什么,因此也知道能够调用哪些方法来处理这个变量。

        C#之所以被称为一种强类型语言,是应为他的类型规则(以静态或动态方法执行)是非常严格的。

        强类型也是c#代码能够在沙箱中运行的原因之一。沙箱指的是,安全性的所有方面都由主机控制的一种环境。

内存管理:

        C#依靠运行时环境来执行自动的内存管理。CLR有一个垃圾回收器,他是作为程序一部分运行的,负责回收不再被引用的对象所占的内存。

CLR和.NET FrameWork:

        .NET FrameWork由名为Common Language Runtime的运行时环境和大量的程序库组成。这些程序库由核心程序库和应用程序库组成,应用程序库依赖核心程序库。

        CLR是执行托管代码的运行时环境。C#是将几种源代码编译为托管语言之一。托管代码会被打包成程序集,他可以是可执行文件(.exe文件)或程序库(.dll)的形式,包括类型信息或元数据。

        托管代码用IL(Intermediate Language)表示。当CLR加载一个程序集时,他会将IL转换为该主机的原生代码,如X86,。这个转换是通过CLR的JIT(Just-In-Time)即时编译器执行的。

编译:

        C#编译器把一系列.cs扩展名的源代码文件编译成程序集。程序集是.NET中的最小打包和部署单元。一个程序集可以是一个应用程序,或者是一个库。一个普通的控制台程序或Windows应用程序是一个.exe文件,包含一个main方法。一个库是一个.dll文件,他相当于一个没有入口的.exe文件。库是用来被应用程序或其他库调用(引用)的。

        C#编译器的名称是csc.exe。

预定义类型:

        在C# 中,预定义类型(也成为内建类型)被当做c#关键字。在.NET FrameWork中的system命名空间中包含了许多并不是预定义类型的重要类型。比如DateTime。

命名空间:

        命名空间是类型名称必须唯一的作用域。类型通常被组织到分层的命名空间里,这样既避免了命名冲突又使类型名更容易被找到。命名空间是独立于程序集的。

猜你喜欢

转载自blog.csdn.net/weixin_39504659/article/details/86510828