- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#编程语言概述
1 C,C++和C#的历史
C#编程语言是在C和C++编程语言的精神上创造出来的。这说明了其拥有强大的功能和简单的学习曲线。但是不能说C#与C和C++相同,因为C#是建立在这两者基础之上的,微软灵活地删除了一些比较繁琐的功能——比如指针。本节将了解C和C++语言,并追踪其演变成C#的历史。
C语言最初目的是为了在UNIX操作系统上使用。它用来创建了许多UNIX应用程序,包括C编译器,并最终用来写UNIX本身。它在学术领域被广泛地接受,包括商业领域,以及软件厂商,如微软和Borland发布了为个人电脑服务的C编译器。原始的Windows API的设计采用C语言来编写Windows代码,而最新的一组核心Windows操作系统的API至今为止仍然保留C编译器。
从设计的角度来看,C缺乏一些细节,其他语言如Smalltalk中已经接受了:一个对象的概念。你将在第8章“编写面向对象的代码”中了解更多关于对象的描述。现在,我们认为一个对象是作为数据的集合,并且可以对数据执行一组操作的。对象类型的编码可以用C来完成,但对象的概念不会强制出现在这个语言中。如果你想构造你的代码,使之类似于一个对象,可以。如果你不想这么做,C也确实不会介意。对象是不是这门语言的固有部分,所以很多人并没有太注意这种编程范式。
面向对象开发的概念开始获得认可后,很明显,C需要细化到去包含这一新的方式。 C++的开发包含了这种改进,它被设计成可以兼容C(比如,所有的C程序也将是C++程序,并可以用C++编译器编译)。C++语言主要是增加了对对象这个新概念的支持。C++语言额外提供了了对类(对象的“模板”)的支持,并启用了一整代的C++程序员去思考它及其行为的使用规范。
C++语言是对C的改进,但它仍然存在一些缺点。 C和C ++是很难得到处理的。不像易于使用的语言,如Visual Basic,C和C ++是非常底层的,并要求你编写大量的编码,来使你的应用程序运行良好。你必须编写自己的代码来处理类似于内存管理和错误检查的问题。C和C++可以实现非常强大的应用程序,但你需要确保你的代码编写得很好,一个漏洞就可以使整个应用程序崩溃或行为异常。由于固定采用C向后兼容C++的设计目标,C++无法打破C的底层特性。
微软设计的C#,保留了很多C和C++的语法。对那些语言熟悉的开发者可以很快地掌握C#。并且尽快地开始代码的编写。对于C#来说,它有一个很大的优势,就是它的设计者选择不让它去兼容C和C++。虽然这可能看起来像一个糟糕的处理,但它实际上是一个好消息。C#剔除了一些使得C和C++难以实现的东西。因为所有的C代码也是C++代码,C++必须保留C中所有的原始怪癖和不足。C#中开始用一个纯净的环境,没有任何兼容性的要求,因此可以保留其前辈的长处,并且丢弃使得C和C++程序生存困难的弱点。
2 引入C#
C#这门在.NET Framework中被引进的全新语言,是从C++衍生出来的。然而,C#是一个现代化的,面向对象的(自下而上的)、类型安全的语言。
3 语言特征
下面的章节来看看C#语言的一些特点。如果它们中的某些概念对你来说很陌生,不要担心,所有这些都在后面的章节中详细介绍。
4 类
在C#中的所有代码和数据必须包含在一个类中。你不能在类外定义一个变量,同样的你也不能写任何不在类中的代码。类可以有构造函数,当创建该类的对象时,会自动生成它的析构函数;当类的对象被释放时,类的析构函数也就被销毁了。类支持单继承,并且所有类最终都是从基类调用对象派生出来的。 C#支持各版本的技术,可以保证随着时间的推移,你的类始终保持与使用早期版本时的类代码的兼容性。
下面让我们来看一个叫做Family的类的例子。这个类包含了两个静态域来保存成员的第一个名字和最后一个名字。同时用一个方法来返回成员的全名。
class Class1
{
public string FirstName;
public string LastName;
public string FullName()
{
}
return FirstName + LastName;
}
注:单继承意味着一个C#类只能从一个基类中继承。
在C#中,你可以将你的类打包到一个名为namespace的类的集合里面。命名空间有名称,可以在逻辑上帮助类集进行分组。在你开始学习C#时,很明显,有关于.NET Framework所有命名空间都是从系统开始的。微软还选择了包括一些有助于兼容以前代码的类和API的访问通道。这些类都包含在Microsoft命名空间内。
5 数据类型
C#允许你使用两种类型的数据:值类型和引用类型。值类型变量保存实际值。引用类型保存实际的值储存在内存中其他的位置信息。基本类型如字符型,整型,浮点型,以及枚
文档评论(0)