没有合适的资源?快使用搜索试试~ 我知道了~
c编程外文文献.doc
0 下载量 13 浏览量
2023-07-30
10:15:37
上传
评论
收藏 93KB DOC 举报
温馨提示
试读
21页
c编程外文文献.doc
资源推荐
资源详情
资源评论
附件一 中文译文
C# 编程语言概述
1. C,C++,C#的历史
C#程序语言是建立在 C 和 C++程序语言的精神上的。这个账目有着很有力
的特征和易学的曲线。不能说 C#与 C 和 C++相同,但是因为 C#是建立在这两者
之上,微软移除了一些成为更多负担的特征,比如说指针。这部分观看 C 和
C++,在 C#中追踪它们的发展。
C 程序语言原本是被定义在 UNIX 操作系统中的。过去经常编写一些 UNIX
的应用程序,包括一个 C 编译器,最后被用于写 UNIX 自己。它普遍认可在这
个学术上的竞争扩展到包含这个商业的世界,脑上。最初的 Windows API 被定
义与使用 C 同 Windows 代码一起工作,并且直到今天至少设置核心的 Windows
操作系统 APIS 保持 C 编译器。
来自一个定义的观点,C 缺乏一个细节就像 Smalltalk 这类语言也包含的一
样,一个对象的概念。你将会学到更多的关于对象的内容在第八章“写面向对象
的代码”一个对象作为一个数据的收集并且设置了一些操作,代码可以被 C 来
完成,但是对象的观念并不能被强制出现在这个语言中。如果你想要构造你的代
码使之像一个对象,很好。如果你不想这么做,C 也确实不会介意。对象并不是
一个固有的部分在这门语言中,很多人并没有花很大的经历在这个程序示例中。
当面向对象的观点的发展开始得到认可之后,思考代码的方法。C++被开发
出,包含了这种改良。它被定义去兼容 C(就像所有的 C 程序同样也是 C++程
序,并且可以被 C++编译器编译) C++语言主要的增加是提供这种新的概念。
C++又额外提供了的类(对象的模板)行为的衍生。
C++语言是 C 语言之上的改良体,不熟悉的不常用的语言上,例如 VB,C
和 C++是很底层的,而且需要你错大量的编码来使你的应用程序很好的运行。理
和错误检查。和 C++可以处理在一些非常给力的应用程序中,码工作的很流畅。
被设定的目标是保持对 C 的兼容,C++不能够打破 C 的底层特性。
微软定义的 C#保留了很多 C 和 C++的语句。码并且能想对快地识别代码。
对于 C#来说一个很大的优势是它的设计师并没有让它去兼容 C 和 C++。当这看
起来或许是个错误的处理时,事实上是一个好消息。C#剔除了一些使得 C 和 C++
工作起来很困难的东西。始怪癖和在 C 中发现的缺陷。C#正在开始一个清洁的
石板并且没有任何兼容需求。因此它能够保持前辈的强项并且丢弃使得 C 和
C++程序生存困难的弱点
2. 引进 C#
C#这门在.NET 体系中被引进的全新语言,是从 C++衍生出来的。然而,C#
是一门流行的,面向对象的(从头到尾)类型安全的语言。
语言特征
下面的部分提供了一个快速的视角关于 C#语言的一些特征。如果它们中的
某些概念对你来说很陌生,不要着急,所有的东西都将在后续章节中详细说明。
类
在 C#中,所有的代码和数据都必须被附在一个类中。你不能在类外定义一
个变量,同样的你也不能写任何不在类中的代码。当一个类的对象被创建并且运
行时,类就被构造了。当类的对象被释放时,类也就被销毁了。类提供了单继承,
所有的类最终从基类获取的东西就是对象。随着时间的推移,C#提供了有版本
的技术去帮助你的类的形成来保养代码的兼容当你使用你更早期的类的代码的
时候。
下面让我们来看一个叫做 Family 的类的例子。这个类包含了两个静态的域
来保存家庭成员的第一个名字和最后一个名字。同样的,有一个方法来返回家庭
成员的全名。
class Class1
{
public string FirstName;
public string LastName;
public string FullName()
{
}
return FirstName + LastName;
}
注:单继承意味着一个 C#类只能从一个基类中继承。
C#是你能够打包你的类放到一个被称作 namespace 类的集合里面。并且可以
在逻辑聚合 上帮助安排类 的收集。当你 开始学习 C#的时候,很 明显所有的
namespace 都是和.NET 类型的系统相关的。微软同样选择包含了一些类辅助于兼
容以前的代码和 API 的通道。这些类同样包含在微软的 namespace 中。
数据类型
C#让你使用两种类型的数据工作:值类型和引用类型。值类型保存实际的
值。引用类型保存实际的值储存在存储器别处的位置。原始的数据类型,例如字
符型,整型,浮点型,枚举型还有结构体类型,这些都是值类型。而对象和数组
类型被处理成了引用类型。C#预定义了引用类型(对象和字符串)新,字节,
无符号短整型,无符号整型,无符号长整型,浮点型,双精度浮点型,布尔型,
字符型和小数类型)的值类型和引用类型最终都会被一个基本类型的对象执行。
C#同样允许你将一个值或者一个类型转变为另外一个值或一种类型。你可
以使用隐式的转换策略或者显式的转换策略。隐式的转换策略总是成功并且并不
丢失任何信息(例如,你可以将一个整型转换为一个长整型而不用丢失任何信息
因为长整型比整型长)换策略可能会是你丢失一些数据丢失因为长整型可以比
整型保留更多的值)转换发生。
前后引用
参考第三章“同变量一起工作”来找到更多的关于显式和隐式转换策略的信
息。
你可以同时使用单维和多维的数组在 C#中。多维数组能够变成一个矩阵。
当这个矩阵与多维数组有相同的面积大小。或者参差不齐的,当有些数组有不一
样的面积大小。
类和结构体可以拥有数据成员被称为属性和字段。变量。你可以定义一个叫
做 Employee 的结构体,例如,有一个被称作 Name 的域,如果你定 义 了 一
个 Employee 类 型 的 变 量 叫 做 CurrenrEmployee, 你 可 以 通 过 写
CurrentEmployee.Name 取回这些雇员的名字。码赋值之后什么应该发生。如果雇
员的名字必须被一个数据库读,例如,你可以写一个代码 “当一些人询问名字
属性的值时,从数据库中读名字,并且返回这个名字用 string 类型”
函数
一个函数是一种可以随时使用的代码,代码。一个函数的例子将会像
FullName 函数更早的展示的那样,在这一章中,在 Family 类中。一个函数通常
会联合一些返回信息的代码,而一个方法通常不返回信息。然而对于我们而言,
我们一般都会把它们都归结于函数。
函数可以拥有四种参数:
• 输入的参数有值传递到函数内,但是函数无法改变它们的值。
• 输出的参数没有值当他们被传递给函数时, 但是函数可以给它们值并且
将这个值传回给它的调用者。,
• 引用参数通过引用传递另外的一个值。它们有一个值进入函数,并且这
个值可以在函数中被更改。
• 参数参数在列表中定义了一个数组变量。
C#和 CLR 一同工作来提供自动的存储管理。或者“留足够的空间让这个对
象使用”这样的代码。CLR 监视你的内存使用并且自动的取回更逗当你需要它
的时候。圾回收而著名)
C#提供了大量的运算符使得你能够写大量的数学和逐位运算的表达式。他
们当中的大量(并不是所有)运算符可以被重新定义,是你能够改变这些运算符
的工作。
C#提供了一个长的报表的清单是你能够定义各种各样的处理路径通过你的
代码。通过报表的操作,使用关键字,就像 switch,while,for,break 和 continue 能
够使你的代码根据变量值的不同分入到不同的路径中。
类能够包含代码和数据。每一个成员对其他对象的可见性。C#提供了
public,protected,internal,protected internal 和 private 这些可接近的范围。
变量
变量可以被定义为常量。常量有固定的值并且你的代码执行过程中不能被改
变,这个 PI 的值,例如,是一个很好的常量的例子,因为她得值将不会被改变
在你的代码运行过程中。枚举类型详细的定义了一种有关常量的名称。例如,你
可以定义一个枚举类型的行星使用值为 Mercury V 在你的代码中。如果你使用一
个变量去表示行星的时候,用这个枚举类型的 names 可以使你的代码变的更易读。
C#提供了一个嵌入式的机制去定义和处理一些事件。如果你写了一个类执
行了很漫长的操作,你或许想调用一个事件,当这个事件结束的时候,客户可以
签署这个时间并且抓住这个事件在他们自己的代码中,他可以让他们被通知当你
完成了这个漫长的预算,这个事件处理机制在 C#中使用了委托,一个引用函数
的变量。
注:事件处理是一个在你代码中的程序,当一个时间发生时它决定了什么动
作将会发生。
例如用户点击了一个按钮。如果你的类保存了一个值,写一些叫做分度器的
代码是你的类可以被访问就好像它是一个数组。假定你写了一个叫做 Rainbow
的类,例如,它包含了一套颜色在这个彩虹中。访问者或许想要些 MYRainbow[0]
来取出在彩虹中的第一个颜色。你可以写一个分度器在你的 Rainbow 类中来定
义什么将会被返回当这个访问者访问你的类时,就好像它是一个值的数组。
接口
C#提供了接口,它聚集了属性,方法,和阐述一套功能的事件。C#的类可
以执行接口,它通过接口告诉使用者这个类提供的一整套功能文件。何现有的代
码,它能尽可能少的兼容问题。曾经有一个接口被公开了,它不能被改变,但是
它能够通过继承来进化。C#的类能够执行许多接口,即使这个类只能从一个基
类继承。
让我们看一个现实世界的 C#中有利于举例说明接口的非常明确的规则的例
子。许多应用程序尅使用今天提供的添加项。执行的时候有读取添加项的能力。
要做这些,这个添加项必须遵守一些规则。DLL 添加项必须展示一个叫 CEEntry
的函数。并且必须使用 CEd 作为 DLL 文件名的开头。当我们运行我们的代码时,
它可以扫描正在工作的以 CEd 开头的所有 DLL 的目录。当它发现了一个,就被
读取下来。然后它用 GetProcAddress 来找出 DLL 中的 CEEntry 函数。由此证明
你服从所有的规则去建立一个添加项是必要的。这种创建读取添加项是必要的,
因为它担负了更多的不必要的代码责任。如果我们使用一个接口在这个例子中,
你的 DLL 添加项可以应用于一个接口。由此保证所有必须的方法,属性和事件
出现在 DLL 中,和作为文件指定的函数。
属性
属性声明了额外的信息关于你的类对于 CLR。在过去,如果你想要自己描
述你的类,你不得不用一些分散的途径在存放在外部的文件中,例如 IDL 或者
事件的 HTML 文件。通过你的努力,属性解决了这个问题,这个发展者,约束
了一些信息在类中,任何种类的信息,例如,在类中,定义它怎么行动当它被用
到的时候。可能性是没完没了的,这也是为什么微软会包含很多预定义的属性
在.NET 结构里。
编译 C#
运行你的 C#代码通过 C#编译器产生了两类重要的信息:代码和元数据。接
下来的部分描述了这两种主题并且完成了建立在.NET 代码上的一块二进制的审
剩余20页未读,继续阅读
资源评论
Mmnnnbb123
- 粉丝: 701
- 资源: 8万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了丰富的SQL语句用于数据库的创建、查询、更新和管理 以下是一些常见的
- MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了丰富的SQL语句用于数据库的创建、查询、更新和管理 以下是一些常见
- MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了丰富的SQL语句用于数据库的创建、查询、更新和管理 以下是一些常见的
- 基于Javascript的结婚请帖设计源码 - Invitation
- mysql语句大全及用法
- mysql语句大全及用法
- mysql语句大全及用法
- MySQL是一种广泛使用的开源关系型数据库管理系统
- MySQL是一种广泛使用的开源关系型数据库管理系统
- MySQL是一种广泛使用的开源关系型数据库管理系统
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功