您现在的位置:网络学院 > 开发教室 > 跟我学.net
总体了解C#(1 C#和Java)

出处:PConline
责任编辑:zwg

[02-5-20 17:54] 作者:荣耀翻译/ASPCool.com


总体了解C#(1 C#和Java)

A Comparative Overview of C#中文版

作者:Ben Albahari
公司:Genamics
日期:2000年7月31日初版,2000年8月10日修订。
感谢以下人士支持和反馈(按字母先后顺序):Don Box、 C.R. Manning、 Joe Nalewabau、 John Osborn、 Thomas Rhode & Daryl Richter。
译者:荣耀


下面是C#和Java共有的特性列表,目的都是为了改进C++。这些特性虽非本文重点,但了解它们之间的相似之处还是很重要的。

l 编译为机器独立、语言独立的代码,运行在受控执行环境里;

l 采用垃圾收集机制,同时摒弃了指针(C#中,指针被限制在标为unsafe的代码内使用);

l 强有力的反射能力;

l 没有头文件,所有的代码都在包或组合体里,不存在类声明的循环依赖问题;

l 所有的类都派生自object,且必须用new关键字分配在堆上;【译注:Java中为Object;C#中为object,相当于.NET的System.Object】

l 当进入标为锁定/同步代码时,通过在对象上加锁来支持多线程;【译注:例如Java中可对方法施以synchronized关键字,在C#中可使用Monitor类、Mutex类、lock语句等等】

l 接口支持—多继承接口,单继承实现;

l 内部类;

l 类继承时无需指定访问级别;【译注:在C++中,你可以这么做:class cls2: private cls1{};等等】

l 没有全局函数或常量,一切都必须属于类;

l 数组和字符串都保存长度记数并具边界检查能力;

l 永远使用“.”操作符,不再有“->”、“::”操作符;

l null和boolean/bool是关键字;【译注:Java中为boolean、C#中为bool,相当于System.Boolean】

l 所有的值在使用前必须被初始化;

l if语句不能使用整型数为判别条件;

l try语句块后可以跟finally从句。【译注:标准C++不可以,但Visual C++对SEH做了扩展,可以用__try和__finally】



相关文章:

用设计模式固化你的C#程序(1)
用设计模式固化你的C#程序(2)
用设计模式固化你的C#程序(3)
用设计模式固化你的C#程序(4)
用设计模式固化你的C#程序(5-2)
用设计模式固化你的C#程序(5-1)
用设计模式固化你的C#程序(6-2)
用设计模式固化你的C#程序(6-1)
Visual C#.Net网络程序开发-Tcp篇(1)
浅析C#中的套接字编程


内容搜索 
高级搜索

本栏今日焦点