C#编程:概况
.NET优点:
面向对象编程;
优秀的设计;
语言无关性;
对动态Web页面友好的支持;ASP.NET
高效的数据访问:ADO.NET
代码共享:.NET引入了程序集的概念
增强的安全性:每个程序集海可以包含内置的安全信息,这样就可以非常准确地控制用户部署的程序及的使用方式;
对安装没有任何影响:有两种类型的程序集,分别是共享程序集和私有程序集;共享程序集是可用于所有软件的公共库,而私有程序集只用于特殊软件,由于
私有程序集完全自包含,所以安装过程非常简单。没有注册表项,只需把相应的文件放在文件系统的相应文件夹中即可;
Web服务的支持:.NET完全集成了对开发Web服务的支持,用户可以轻松地开发任何类型的应用程序;
.NET Framework 4中的新增属性:
*动态类型
C# 使用新的dynamic关键字访问新的DLR。这对于编译器是一个标记,只要遇到这个关键字,编译器就认为它是一个动态调用,而不是一般的静态调用。
*可选参数和命名参数
public void CreateUser(string firstname, string lastname, bool isAdmin = false, bool isTrialUser = true)
{
}
myClass.CreateUser("Bill","Evjen");
myClass.CreateUser("Bill","Evjen",true);
myClass.CreateUser("Bill","Evjen",true,false);
采用命名参数:myClass.CreateUser("Bill","Evjen",IsTrailUser:false);
*协变和抗变
虽然在.NET Framework的以前版本中包含协变和抗变,但它们在.NET4中进行了扩展,当处理泛型、委托等时,它们会执行得更好。例如,在。NET的以前版
本中,可以对对象和数组使用抗变,但不能对泛型接口使用抗变。而在.NET4中,就可以对泛型接口使用抗变。
*ASP.NET MVC
C#的一些功能:
完全支持类和面向对象编程,包括接口和实现继承、虚函数和运算符重载。
一致且定义完善的基本类型集。
对自动生成觚文档的内置支持。
自动清理动态分配的内存。
可以用用户定义的属性来标记类或方法。这可以用于文档,对编译有一定的影响(例如,把方法标记为只在调试版本中编译)。
可以完全访问.NET基类库,并易于访问Windows API。
可以使用指针和直接访问内存,但C#语言可以在没有它们的条件下访问内存。
以Visual Basic的风格支持属性和事件。
改变编译器选项,可以把程序编译为可执行文件或.NET组件库,该组件库可以用与ActiveX控件(COM组件)相同的方式由其他代码调用。
C#可以用于编写ASP.NET动态Web页面和XML Web服务。
C#局限性:
一方面是该语言不适用于编写时间急迫或性能非常高的代码,。另一方面是C#缺乏性能极高的应用程序所需要的关键功能,包括能够指定那些保证在代码的特
定地方运行的内联函数和析构函数。