由于工作需要,近期准备加入C#.net的行列,特在此做学习记录,以方便后续查找资料;
- .Net 和C#的关系:
- .Net 首先它是一种Framework(框架),确切的说它是基于Windows平台上的一种Framework:
- C#是一门编程语言,是专门用于.Net Framework上的编程语言;比如:它可以编写动态web页面,Windows Presentation Foundation (WPF)应用程序,XML Web应用服务, 分布式应用程序的组件, 数据库访问组件, 传统的Windows桌面应用程序,可联机/脱机运行的新型智能客户端应用程序等;
- .Net的优点:
- 面向对象编程;
- 语言无关性:在.Net中, Visual Basic, C# 和 托管C++等语言都可以编译为通用的中间语言(intermediate language);
- 对动态web页面有更好的支持:Asp.Net;
- 高效的数据访问:Ado.Net;
- 代码共享:.Net引入程序集替代了传统的DLL;
- 增强的安全性: 每个程序集包含内置的安全信息;
- .Net Framework 4中的新特性:
- 动态类型:让动态语言运行库(Dynamic Language Runtime DLR)在运行期间动态的确定对象的类型;
- 可选参数和命名参数;
- 协变和抗变;
- Asp.Net MVC;
- C#的优点:
- 易用性, 高性能, 低级内存访问。
- 完全支持类和面向对象编程, 包括接口和实现继承、虚函数和运算符重载;
- 一致且定义完善的基本类型集;
- 对自动生成的XML文档的内置支持;
- 自动清理动态分配的内存;
- 可以用用户定义的属性来标记类或方法。
- 可以完全访问.Net基类库,并易于访问Windows API;
- 可以使用指针和直接访问内存,可以在没有它们的条件下访问内存;
- 以Visual Basic的风格支持属性和事件;
- 可编译为可执行文件或.Net组件库;
- 可用于编写Asp.Net 动态web页面和XML web服务;
- C#的两个局限性:
- 不适合编写时间急迫或性能非常高的代码 ;(例 如 一 个要占用 1CXXl或 10sO个机器周期的循环 ,并 在不需要这些资源时 ,立 即清
理它们) - 缺乏性能极高的应用程序所需要的关键功能;(包 括能够指定那些保证在代码的特定地方运行的内联函数和析构函数)
- 编写和运行 C#代 码的环境
- 要使用.Net编写代码 ,需要安装 .NET4 SDK。
- 运行托管代码,不需要安装完整的SDK,但需要.Net运行库,需要把.Net运行库和代码分布到还没有安装它的客户端上;