C#和.Net有什么关系?

Python012

C#和.Net有什么关系?,第1张

C#只是抽象的语言,可以把C#编译生成Java平台的二进制代码,也可以把Java代码编译生成.Net平台的二进制代码。所以C#只是提供了if、while、+-*/、定义类、int、string等基础的语法,而Convert.ToInt32、FileStream、SqlConnection、String.Split等都属于.Net的东西。深蓝色是C#的,浅蓝色是.Net的。

C# new→IL:newobj

C# string →.Net中的String

类型的差别:.net中的Int32在C#中是int,在VB.Net中是Integer。String、Int32等公共类型

语法的差别:IL中创建一个对象的方法是L_0001: newobj instance void 索引.C1::.ctor()

C#中是new C1()

VB.net则是 Dim c1 As New C1。

C#是一个程序设计语言,仅仅是一个语言,是运行在.net CLR上的,用于创建应用程序的高级语言。

.net是一个平台,抽象的平台概念。

实现形式是库:

①定义了基本的类型(通用类型系统CTS,common type system)。

②包含.net公共语言运行库(CLK,common language runtime,负责管理用.net库开发的所有应用程序的运行)。

核心是.net framework

包括两个关键组成元素:

a.Common Language Runtime,公共语言运行时(CLR)-提供内在管理,代码安全性检测等功能。

b..NET Framework Class Library,.NET框架类库(FLC)-提供大量应用类库,提高开发效率 。