频道栏目
首页 > 资讯 > C# > 正文

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

06-09-21        来源:[db:作者]  
收藏   我要投稿

总体了解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】

相关TAG标签
上一篇:总体了解C#(2 属性)
下一篇:浅析C#中的套接字编程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站