一、C#编程语言的由来
C#语言是由 C/C++演变而来的,是微软推出的一种基于.NET框架的、面向对象的高级编程语言。以.NET框架类库作为基础,拥有类似Visual Basic的快速开发能力。简单易学,入门超快,减少了烦人的指针,有统一的操作符/修饰符/运算符,使用起来极其舒心。
对于C/C++用户来说,最理想的解决方案无疑是在快速开发的同时又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保持同步并且能和已有的应用程序良好整合的环境。另外,一些C/C++开发人员还需要在必要的时候进行一些底层的编程。C# (C sharp) 是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
二、C#编程的优势
1.开发平台
C#实现了由不可管理环境向可管理环境的飞跃。在.NET的可管理平台环境中,C#不再处理细微的诸如对象生成、销毁的控制这些工作都由架构帮助处理。在选择了要创建的对象类型,后它的位置就确定下来而对象所占内存的释放回收工作则由碎片收集程序来实现。这些工作都是非显性进行的。
2.C#语言使用三层架构开发应用系统
所谓三层架构就是界面层、逻辑层和数据层。使用三层架构的优势,比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的CPU就可以获得不错的性能。
3.与其他面向对象语言一样,C#语言也具有面向对象语言的基本特征,即封装、 继承、 多态。
等等-----
语法简单、易学。C#摈弃了C++的指针和复杂多变的类型系统。
支持跨平台
完全支持类和面向对象编程,包括接口和继承、虚函数和运 算符重载的处理
垃圾回收,自动清理动态分配的内存
自动生成XML文档说明的内置支持
改变了编译器选择,可以编译成可执行文件或.NET组件库
支持快速应用程序开发
可以编写http://ASP.NET动态页面和XML Web服务
增加了一些泛型类型,使开发人员可以实现高度的代码重用
三、C#中的主要功能
布尔条件(Boolean Conditions)
自动垃圾回收(Automatic Garbage Collection)
标准库(Standard Library)
组件版本(Assembly Versioning)
属性(Properties)和事件(Events)
委托(Delegates)和事件管理(Events Management)
易于使用的泛型(Generics)
索引器(Indexers)
条件编译(Conditional Compilation)
简单的多线程(Multithreading)
LINQ 和 Lambda 表达式
集成 Windows
四、C#与C++对比的主要区别
1、编译区别
C#代码首先会被编译为CLR(公共语言运行库),然后由.NET框架解析。
C ++代码将会直接被编译为机器代码。
2、内存管理的不同
C#是在虚拟机上执行,会自动进行内存管理。
C ++需要手动组织管理内存。
3、指针使用的区别
C#不支持使用指针,但可以使用一些不安全的类和方法;
C ++允许使用指针。不用指针的C#比C++更安全。指针引起的内存泄漏啥的问题还是蛮费脑的。
4、系统环境(平台)的区别
C#主要用于Windows环境;
C ++是为基于Unix的系统设计的,但现在可以用于任何平台。
5、应用上的区别
C#的应用涉及基于Web的桌面和移动应用程序;
C ++的唯一目的就是创建独立的控制台应用程序。
6、速度上的区别
C ++代码更快,因为它不使用重型库;
C#较慢,因为它会产生开销并使用了类似于java这样的重型库。