- 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#编程
简介
微软 C#语言定义主要是从 C 和 C++ 继承而来的,而且语言中的许多元素也反映了这一点。 C#在设计者从 C++ 继承的可选选项方面比 Java 要广泛一些
(比如说 structs) ,它还增加了自己新的特点 (比方说源代码版本定义 ).但它还太不成熟,不可能挤垮 Java 、C#还需要进化成一种开发者能够接受和采用的语言。而微软当前为它的这种新语言大造声势也是值得注意的。目前大家
的反应是: “这是对 Java 的反击” 。
C#更象 Java 一些,虽然微软在这个问题上保持沉默。这也是意料中的事情,我觉得,因为 Java 近来很成功而使用 Java 的公司都报告说它们在生产效率上比 C++ 获得了提高。
Java 所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了 (估计世界范围内共有两百五十万程序员使用 Java) 。由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话 (比如日本发明的 Java 电话)。C#能够在用户领域获得这样的礼遇吗 ?我们必须等待并观望 ,就象已经
由 SSI 公司的 CEO 和主席 Kalpathi S. Suresh 指出来的那样: 我发现所有这些都是渐进的。如果 C#不存在,我们总能回到 Java 或 C 和 C++。这些都不完全是新技术,它们在更大的意义上来说只是大公司制造的市场噱头。我
们必须给他们时间安顿下来看看这些是不是真的对 IT 工业有什么影响。
C#从 Java 继承而来的特点
类:在 C#中类的申明与 Java 很相似.这是合理的因为经验告诉我们 Java 模型工作得很好.C# 的关键字 import 已经被替换成 using, 它起到了同样的作用.一个类开始执行的起点是静态 Main() 方法.下面的 Hello World 程序展示了程序基本结构形式 :
using System;
class Hello {
static void Main() { Console.WriteLine(Hello, world); Console.ReadLine();
}
}
在这个例子中,System 这个名字指向一个包括了基本 C#实用类集合的命名空间(namespace). 这个命名空间包括了 Console 类,它在这个例子中被用来输出一个字符串 .类可以是抽象的和不可继承的 :一个被申明成 abstract 的类不能被实例化 ;它只能被用做一个基类 .C# 关键字 lock 就象 Java 关键字
final, 它申明一个类不是抽象的 ,但是它也不能被用做另一个类的基类 .界面:就象在 Java 中一样,一个界面是一组方法集合的抽象定义 .当一个类或结构体实现一个界面的时候 ,它必须实现这个界面中定义的所有方法 .一个单一的类可以实现几个界面 .也许以后会出现一些微妙的差别 ,但是这个特点看起来与 Java 相比没有变化.布尔运算:条件表达式的结果是布尔数据类型 ,布尔数据类型是这种语言中独立的一种数据类型 .从布尔类型到其他类型没有直接的转换过程.布尔常量 true 和 false 是 C#中的关键字.错误处理:如 Java 中那样,通过抛出和捕捉异常对象来管理错误处理过程 .内存管理:由底
层.NET 框架进行自动内存垃圾回收 .
C#从 C 和 C++ 继承的特点
编译:程序直接编译成标准的二进制可执行形式 . 如 果 前 面 的 Hello World 程序被保存成一个文本文件并被命名为 Hello.cs, 它将被编译成命名Hello.exe 的可执行程序.
结构体:一个 C#的结构体与 C++ 的结构体是相似的 ,因为它能够包含数据声明和方法.但是,不象 C++,C# 结构体与类是不同的而且不支持继承 .但是,与Java 相同的是,一个结构体可以实现界面 .
预编译:C# 中存在预编译指令支持条件编译 ,警告,错误报告和编译行控制.可用的预编译指令有 :
#define #undef #if #elif #else #endif #warning #error #line []
没有了#include 伪指令.你无法再用#define 语句对符号赋值,所以就
不存在源代码替换的概念 --这些符号只能用在 #if 和#elif 伪指令里.在
#line 伪指令里的数字(和可选的名字)能够修改行号还有 #warning 和#error 输出结果的文件名 .
操作符重载:
一些操作符能够被重载 ,而另一些则不能.特别的是,没有一个赋值运算符能够被重载.能够被重载的单目操作符是 :
+ - ! ~ ++ -- true false
能够被重载的二元运算符是 :
文档评论(0)