想吃香蕉的程序猿

if(!eatBnana()){printf("Bad SE!\n");}else {sayToComputer("Hello World!");}

C# 第一天

在没有发布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的,以确保其他程序不能直接调用另一个应用程序的接口。


所有内建数据类型都支持默认构造函数。

阅读更多
版权声明:本文为博主原创文章,随便转载。 https://blog.csdn.net/up_is_so_niubility/article/details/49890679
文章标签: C#
个人分类: 项目 C#
上一篇字符编码
下一篇GIT
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭