程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 總體了解C#(1 C#和Java)

總體了解C#(1 C#和Java)

編輯:C#入門知識

總體了解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】

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved