C#与.NET概述 - C#程序设计好文!
目录
1. C#
C#是由Anders Hejlsberg(安德斯-海森博格)[1]创建的。
2. .NET
2.1 .NET之前
备注:图片来源[4]
2.2 .NET
.NET框架(.NET Framework)是由微软开发,一个致力于敏捷软件开发(Agile softwaredevelopment)、快速应用开发(Rapidapplication development)、平台无关性和网络透明化的软件开发平台[3] 。
备注:关于.net的发展历程,推荐查看文献[2][6]
整体来看分为4个部分:CLR,各种库,各种语言以及开发工具VS。
.NET主要特性:
- 简单的开发和部署
- 统一的编程模型
- 提供健壮、安全的执行环境
- 支持多种编程语言
- 丰富的类库支持
3. CLR:公共语言运行时,Common Language Runtime
设计目标:
- 简化开发:安全性,内存管理,垃圾回收
- 简化应用程序部署
- 基类库
- 支持多种语言
类似于Java中的虚拟机,相当于在硬件之上建立一个虚拟的一个机器,在这个机器上运行C#程序,其实运行的是中间指令。其编译成元数据文件,里面是中间代码,构成.exe文件。这个.exe文件不是最终的机器指令。在运行的时候,CLR通过即时编译器(JIT)来编译成本机代码。从这里可以看到,通过产生中间代码的机制,.NET可以支持很多语言。
.EXE文件包含IL(Intermediate Language)指令,和元信息。我们可以通过反编译工具ildasm.exe来查看其中的指令。
在电脑中的位置是:
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX4.5.1Tools\ildasm.exe”。
关于更详细的运行机制,读者可以参考[5]。
选择文件-打开,之后在选择.exe文件就可以出现相应的IL。
4. 基本的应用类型
- 控制台程序
- Windows应用程序
这里面分化出一种WPF程序 - Web应用程序
这里面分化成mobile程序
4.1 控制台程序
- Main()方法是程序的入口,它有固定的书写格式:public static void Main(string[] args)
可以没有public,也可以没有string[] args - 可以直接输入svm,然后按2次Tab键也可以。
- Ctrl+F5,编译及运行(不调试)
4.2 Windows应用程序
- 又称winForm应用
- 事件驱动的程序设计
4.3 Web应用程序
参考文献
[1] http://kb.cnblogs.com/page/87320/
[2] http://developer.51cto.com/developer/evolution/
[3] https://baike.baidu.com/item/.net%E6%A1%86%E6%9E%B6/2880331?fr=aladdin
[4] http://www.cnblogs.com/moonache/p/5995866.html
[5] http://www.cnblogs.com/muyue/archive/2012/11/13/2768126.html
[6] http://www.cnblogs.com/xiaofeixiang/p/3936217.html
CSCODE.NET开发框架文库 - C/S架构Winform快速开发框架