C#是一种简单的,安全的,稳定的,由C和C++衍生出来的面向对象的编程语言,它在继承C和C++强大功能的同时,去掉了它们的一些复杂性,综合了Visual Studio简单的可视化操作和C++高效的运行效率,以其强大的操作能力,独特的语法风格,创新的语言特性,便捷的面向组件编程的支持,使其成为.NET开发的首选语言,并成为ECMA和ISO的标准规范。
C#和Java有着惊人的相似,主要包括诸如单一继承,接口,与Java几乎同样的语法和编译成中间代码在运行的过程。但是C#和Java有着明显的区别,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而它是.NET Windows 网络框架的主角。
使用C#语言,用户可以创建传统的Windows客户端应用程序,XML Web Services,分布式组件,客户端应用程序,服务器应用程序和数据库应用程序等。
C#语法表现能力强,而且简单易学。C#的大括号语法使熟悉C,C++或Java的人可以立即上手。C#语法提供了很多强大的功能,例如null的值类型,枚举,委托,lambda表达式直接内存访问,这些都是Java语言所不具备的。C#支持泛型方法和类型,提供了更出色的类型安全和性能。C#还提供了迭代器,允许集合类的实施者定义自定义的迭代行为,以便容易被客户端代码使用。在C#3.0,语言集成查询(LINQ)表达式使强类型查询成为一流的语言构造。
作为一种面向对象的语言,C#支持封装,继承和多态性。所有的变量和方法,可以实现任意数量的借口。重写父类中虚方法的各种方法要求override关键字作为一种避免意外重定义的翻方式。在C#中,结构类似于一个轻量类,是一种堆栈分配的类型,可以实现接口,但不支持继承。
除了这些基本的面向对象的原理外,C#还通过几种创新的语言构造简化了软件组件的开发:
- 1、封装的方法签名(称为“委托”)。实现了类型安全的事件通知。
- 2、属性,充当私有成员变量的访问器。
- 3、属性,提供了关于运行时类型的声明性元数据。
- 4、内联XML文档注释。
- 5、语言集成查询(LINQ),提供跨各种数据源的内置查询功能。
在C#中,如果必须与其他Windows软件(如COM对象或本机Win 32 DLL)交互,则可以通过一个称为“互操作”的过程来实现。互操作使C#程序能够完成本机C++应用程序可以完成的下,C#甚至支持指针和“不安全”代码的实现。
C#生成过程比C和C++简单,比Java灵活,它没有单独的头文件,也不要求按照特定的顺序声明方法和类型,同时还可以定义任意数量的类,结构,接口和事件。
C#独有的特点:
1、中间代码。
2、命名空间中的声明。当创建一个程序时,在一个命名空间里创建了一个或多个类,同时在这个命名空间里(在类的外面)可能还有声明接口,枚举类型和结构体等。这时必须使用using关键字来引用其他命名空间的内容。
3、基本数据类型,C#拥有比C,C++或者Java更广泛的数据类型。这些数据类型是bool,byte,ubyte,short,ushort,int, uint, long ,float, double和decimal。
4、两个基本类,一个名叫objict的类是所有其他类的基类,而一个名类叫string的类同object一样,是这个语言的一部分。
5、参数传递。方法可以被声明为接受可变数目的参数。默认的参数传递方法是对基本数据类型进行值传递。ref关键字可以用来使一个变量通过引用传递接受一个返回值,out关键字可以声明引用传递的过程。与ref不同的是,out关键字可指明某个参数不需要初始值。
6、与COM的集成。C#对Windows程序最大的特点可能就是它与COM的无缝集成,COM就是微软的Win32组件技术。C#编写的类可以子类化一个已存在的COM组件,生成的类可能被作为一个COM组件使用。
7、索引下标。使用索引不是使用属性名来引用类成员,而是用哟个方括号中的数字来匿名引用(就像用数组下标一样)。
8、代理和反馈。一个代理对象包括了访问一个特定对象的特定方法所需要的信息。代理对象可以被移动到另一个地方,然后可以通过访问它来对已存在的方法进行类型安全的调用。一个反馈方法就是代理的特例。event关键字用在将在事件发生的时候被当成代理调用的方法声明。
C#语言所支持的程序开发:
1、支持DOS程序(控制台应用程序)
2、支持桌面Windows窗体应用程序
3、支持游戏游戏程序的开发
4、支持Web程序的开发(教务管理系统,图书馆查询系统,服务器服务程序等)
5、支持手机应用程序的开发(嵌入式系统等)
6、支持ASP.NET应用程序的开发。
以上就是学习C#的入门知识点汇总,希望对大家学习C#程序设计有所帮助。