C#与其他语言的区别以及它独有的特点

上传人:宝路 文档编号:6866279 上传时间:2017-09-14 格式:DOC 页数:2 大小:33KB
返回 下载 相关 举报
C#与其他语言的区别以及它独有的特点_第1页
第1页 / 共2页
C#与其他语言的区别以及它独有的特点_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《C#与其他语言的区别以及它独有的特点》由会员分享,可在线阅读,更多相关《C#与其他语言的区别以及它独有的特点(2页珍藏版)》请在金锄头文库上搜索。

1、c#C#(读 做 C sharp, 中 文 译 音 暂 时 没 有 .专 业 人 士 一 般 读 C sharp, 现 在 很 多 非专 业 一 般 读 C 井 。 C#是 微 软 公 司 发 布 的 一 种 面 向 对 象 的 、 运 行 于 .NET Framework之 上 的 高 级 程 序 设 计 语 言 。 并 定 于 在 微 软 职 业 开 发 者 论 坛 (PDC)上 登 台 亮 相 。 C#是微 软 公 司 研 究 员 Anders Hejlsberg 的 最 新 成 果 。 C#看 起 来 与 Java 有 着 惊 人 的 相 似 ;它 包 括 了 诸 如 单 一 继 承

2、、 接 口 、 与 Java 几 乎 同 样 的 语 法 和 编 译 成 中 间 代 码 再 运 行 的过 程 。 但 是 C#与 Java 有 着 明 显 的 不 同 , 它 借 鉴 了 Delphi 的 一 个 特 点 ,与 COM(组 件对 象 模 型 )是 直 接 集 成 的 , 而 且 它 是 微 软 公 司 .NET windows 网 络 框 架 的 主 角 。并 且 C#成 为 ECMA 与 ISO 标 准 规 范 。 C#看 似 基 于 C+写 成 , 但 又 融 入 其 它 语言 如 Delphi、 Java、 VB 等 。在 本 文 中 ,我 将 考 察 创 建 一 种

3、新 计 算 机 语 言 的 一 般 动 机 ,并 将 特 别 指 明 是 什 么 原 因导 致 了 C#的 出 现 .然 后 我 将 介 绍 C#和 它 与 Java,c,c+的 相 似 之 处 .其 次 我 将 讨 论 一 些存 在 于 Java 和 C#之 间 的 高 层 次 的 ,和 基 础 的 差 别 .我 将 以 衡 量 在 用 多 种 语 言 开 发 大 型应 用 程 序 的 时 候 所 需 的 知 识 (或 者 对 这 种 知 识 的 缺 乏 程 度 )来 结 束 本 文 ,而 这 正 是 .NET和 C#的 一 个 主 要 战 略 .目 前 ,C#和 .NET 还 只 能 以

4、C#语 言 规 则 ,以 及 Windows 2000 的一 个 d 预 览 版 本 ,还 有 MSDN 上 迅 速 增 多 的 文 档 集 子 的 形 式 获 得 (还 没 有 最 终 定 型 ). 微 软 c#语 言 定 义 主 要 是 从 C 和 C+继 承 而 来 的 ,而 且 语 言 中 的 许 多 元 素 也 反 映 了这 一 点 .C#在 设 计 者 从 C+继 承 的 可 选 选 项 方 面 比 Java 要 广 泛 一 些 (比 如 说 struts),它 还 增 加 了 自 己 新 的 特 点 (比 方 说 源 代 码 版 本 定 义 ).但 它 还 太 不 成 熟 ,不

5、可 能 挤 垮Java.C#还 需 要 进 化 成 一 种 开 发 者 能 够 接 受 和 采 用 的 语 言 .而 微 软 当 前 为 它 的 这 种 新 语言 大 造 声 势 也 是 值 得 注 意 的 .目 前 大 家 的 反 应 是 :这 是 对 Java 的 反 击 . C#更 象 Java 一 些 ,虽 然 微 软 在 这 个 问 题 上 保 持 沉 默 .这 也 是 意 料 中 的 事 情 ,我 觉 得 ,因为 Java 近 来 很 成 功 而 使 用 Java 的 公 司 都 报 告 说 它 们 在 生 产 效 率 上 比 C+获 得 了 提高 . Java 所 带 来 的 巨

6、 大 影 响 和 大 家 对 它 的 广 泛 接 受 已 经 由 工 作 于 这 种 语 言 和 平 台 之 上的 程 序 员 数 量 明 显 的 说 明 了 (估 计 世 界 范 围 内 共 有 两 百 五 十 万 程 序 员 使 用 Java).由 这种 语 言 写 成 的 应 用 程 序 的 数 量 是 令 人 惊 讶 的 并 已 经 渗 透 了 每 一 个 级 别 的 计 算 ,包 括 无线 计 算 和 移 动 电 话 (比 如 日 本 发 明 的 Java 电 话 ).C#能 够 在 用 户 领 域 获 得 这 样 的 礼 遇 吗 ?我们 必 须 等 待 并 观 望 ,就 象 已 经

7、 由 SSI 公 司 的 CEO 和 主 席 Kalpathi S. Suresh 指 出 来 的那 样 ,我 发 现 所 有 这 些 都 是 渐 进 的 .如 果 C#不 存 在 ,我 们 总 能 回 到 Java 或 C 和 C+.这 些 都 不 完 全 是 新 技 术 ;它 们 在 更 大 的 意 义 上 来 说 只 是 大 公 司 制 造 的 市 场 噱 头 .我 们 必须 给 他 们 时 间 安 顿 下 来 看 看 这 些 是 不 是 真 的 对 IT 工 业 有 什 么 影 响 . C#独 有 的 特 点 C#最 引 人 入 胜 的 地 方 是 它 和 Java 的 不 同 ,而

8、不 是 相 似 的 地 方 .这 一 节 (和 这 个 系 列第 二 部 分 的 大 部 分 地 方 )讲 述 了 C#实 现 的 和 Java 不 同 的 地 方 或 者 Java 根 本 没 有 的特 点 . 中 间 代 码 :微 软 在 用 户 选 择 何 时 MSIL 应 该 编 译 成 机 器 码 的 时 候 是 留 了 很 大 的 余 地 .微 软 公 司 很 小 心 的 声 称 MSIL 不 是 解 释 性 的 ,而 是 被 编 译 成 了 机 器 码 .它 也 明 白 许 多 -如 果 不 是 大 多 数 的 话 -程 序 员 认 为 Java 程 序 要 不 可 避 免 的

9、比 C 编 写 的 任 何 东 西 都 要慢 .而 这 种 实 现 方 式 决 定 了 基 于 MSIL 的 程 序 (指 的 是 用 C#,Visual Basic,Managed C+-C+的 一 个 符 合 CLS 的 版 本 -等 语 言 编 写 的 程 序 )将 在 性 能 上 超 过 解 释 性 的Java 代 码 .当 然 ,这 一 点 还 需 要 得 到 事 实 证 明 ,因 为 C#和 其 他 生 成 MSIL 的 编 译 器 还 没有 发 布 .但 是 Java JIT 编 译 器 的 普 遍 存 在 使 得 Java 和 C#在 性 能 上 相 对 相 同 .象 C#是编

10、 译 语 言 而 Java 是 解 释 性 的 ,之 类 的 声 明 只 是 商 业 技 巧 .Java 的 中 间 代 码 和 MSIL 都是 中 间 的 汇 编 形 式 的 语 言 ,它 们 在 运 行 时 或 其 它 的 时 候 被 编 译 成 机 器 代 码 . 命 名 空 间 中 的 申 明 :当 你 创 建 一 个 程 序 的 时 候 ,你 在 一 个 命 名 空 间 里 创 建 了 一 个 或多 个 类 .同 在 这 个 命 名 空 间 里 (在 类 的 外 面 )你 还 有 可 能 声 明 接 口 ,枚 举 类 型 和 结 构 体 .必须 使 用 using 关 键 字 来 引

11、 用 其 他 命 名 空 间 的 内 容 . 基 本 的 数 据 类 型 :C#拥 有 比 C,C+或 者 Java 更 广 泛 的 数 据 类 型 .这 些 类 型 是 bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double,和 decimal.象 Java 一样 ,所 有 这 些 类 型 都 有 一 个 固 定 的 大 小 .又 象 C 和 C+一 样 ,每 个 数 据 类 型 都 有 有 符 号和 无 符 号 两 种 类 型 .与 Java 相 同 的 是 ,一 个 字 符 变 量 包 含 的 是 一

12、 个 16 位 的 Unicode字 符 .C#新 的 数 据 类 型 是 decimal 数 据 类 型 ,对 于 货 币 数 据 ,它 能 存 放 28 位 10 进 制 数字 . 两 个 基 本 类 :一 个 名 叫 object 的 类 是 所 有 其 他 类 的 基 类 .而 一 个 名 叫 string 的 类 也象 object 一 样 是 这 个 语 言 的 一 部 分 .作 为 语 言 的 一 部 分 存 在 意 味 着 编 译 器 有 可 能 使 用 它-无 论 何 时 你 在 程 序 中 写 入 一 句 带 引 号 的 字 符 串 ,编 译 器 会 创 建 一 个 str

13、ing 对 象 来 保存 它 . 参 数 传 递 :方 法 可 以 被 声 明 接 受 可 变 数 目 的 参 数 .缺 省 的 参 数 传 递 方 法 是 对 基 本 数据 类 型 进 行 值 传 递 .ref 关 键 字 可 以 用 来 强 迫 一 个 变 量 通 过 引 用 传 递 ,这 使 得 一 个 变 量 可以 接 受 一 个 返 回 值 .out 关 键 字 也 能 声 明 引 用 传 递 过 程 ,与 ref 不 同 的 地 方 是 ,它 指 明 这个 参 数 并 不 需 要 初 始 值 . 与 COM 的 集 成 :C#对 Windows 程 序 最 大 的 卖 点 可 能

14、就 是 它 与 COM 的 无 缝 集 成了 ,COM 就 是 微 软 的 Win32 组 件 技 术 .实 际 上 ,最 终 有 可 能 在 任 何 .NET 语 言 里 编 写COM 客 户 和 服 务 器 端 .C#编 写 的 类 可 以 子 类 化 一 个 以 存 在 的 COM 组 件 ;生 成 的 类 也能 被 作 为 一 个 COM 组 件 使 用 ,然 后 又 能 使 用 ,比 方 说 ,JScript 语 言 子 类 化 它 从 而 得 到 第三 个 COM 组 件 .这 种 现 象 的 结 果 是 导 致 了 一 个 运 行 环 境 的 产 生 ,在 这 个 环 境 里 的 组 件是 网 络 服 务 ,可 用 用 任 何 .NET 语 言 子 类 化 .

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号