您的位置:首页 > 编程语言 > C#

C# 第一天

2015-11-17 17:34 344 查看
在没有发布c#和.NET之前,windows使用COM(component object model,组件对象模型 )。但是COM不能跨平台,优点是语言无关。

.NET Framework核心功能:

1.对已有代码具有完全的互操作性

2.支持多种语言(这里主要是想用C#)

3.所有支持.NET语言共享的公共运行时引擎

4.语言集成(感觉就是支持多种语言)

5.全面地基础类库

6.简化的部署模型:不需要将二进制注册到系统注册表,允许同一个*.dll的不同版本存在于一台机器

预览.NET成为现实的3个关键:

CLR(Common Language Runtime,公共语言运行库)

CTS(Common Type System,公共类型系统)

CLS(Common Language Specification,公共语言规范)

BCL(Base Class Library,基础类库)

之间的关系:



C#的一些核心特征(应该是为了证明我不是C/JAVA):

1.能自动清理内存,不支持delete(像JAVA,但是区分C/C++)

2.类、接口、结构、枚举和委托都有正式的语法结构

3.可以简单的重载运算符

4.支持基于特性的编程,即允许我们注释类型及其成员来进一步限定其行为。

必须在.NET运行库下执行的代码称为托管代码(managed code),这些包含托管代码的二进制单元称为程序集(assembly)。C#生成的代码就是托管代码!

之所以含有托管代码是因为可以让程序员保留自己的习惯,因为不同的语言风格,生成的托管代码都是一样的。

各种语言通过编译器统一生成的是中间语言IL(intermediate language)和类型元数据。

PS:在.NET的开发中,IL的官方术语是MSIL(Microsoft intermediate language,微软中间语言)或CIL(common intermediate language,公共中间语言)

委托(delegate)在.NET中等效于类型安全的C风格的函数指针。他们的只要不同在于,.NET委托是派生自System.MulticastDelegate的类,而不是一个简单的指向原始内存地址的指针。

上述的集成:



静态成员是类级别的,而不是对象级别的,所以调用之前不需要先创建新的类实例。

如果不明确提供一个访问修饰符,函数默认就是private的,以确保其他程序不能直接调用另一个应用程序的接口。

所有内建数据类型都支持默认构造函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C#