The Overview of ECMA C# Language Specialisation (1) (轉)

gugu99發表於2008-04-28
The Overview of ECMA C# Language Specialisation (1) (轉)[@more@]

The Overview of UCMA Language Spesication
8. Language Overview (語言概觀)
  這個條款是擴充套件的資料。
  C# (讀音為“”)是一種簡樸、富有朝氣的、面向和型別的語言,可以很快地被
C/C++員所接受。C#的目標是結合開發(RAD)語言的高效和C++強大功能。
  以下的幾節會描述這門語言的基本特點。在後面的章節中將詳細地,甚至是精確地介紹該語言的規則及其
他。本章將力求清晰簡短的含蓋所有的內容。使得讀者有個初步地印象和更容易地閱讀餘下的章節。



8.1 開始
  用 C# 編寫的規範的“Hello, world” 如下:


using System;
class Hello
{
 static void Main() {
 Console.WriteLine("Hello, world");
 }
}


C# 的可以存放在用 .cs 作為副檔名的一個或多個文字中,比如本例的“hello.cs”。在命令列中
可以這樣編譯:


csc hello.cs


這個操作會產生一個hello.exe。輸出的結果是:


hello, world


讓我們從語法開始分析:


·using System;
直接引用由 Common Language Infrastructure (CLI) 提供的 System namespace。這個namespace包含在 Main
方法中所要用到的 Console 類。名字空間(namespace)提供了一種分層組織類庫成員的方法。“using”解開
限制而可以使用 System 這個名字空間裡的成員。程式中 Console.WriteLine 是 System.Console.WriteLine
縮寫。System 是名字空間,Console 是 System 裡定義的一個類,WriteLine是這個類的一個 static 方法。


·Main 是 Hello 類的一個成員。因為它有一個 static 的修飾符,所以它不存在於 Hello 的實體中,而
僅僅是在這個類的範圍內。


·程式的進入點,即程式開始的地方,總是一個名字為 Main 靜態的方法。


·“hello, world”使用了一個類庫。但標準並沒有對類庫進行定義。實際上,程式引用由CLI提供的類庫。
很有趣的是C/C++開發者會覺得有不少東西沒有出現在“hello, world”程式中。


·程式中沒有一個Main的全域性方法。所有的方法和變數都不會出現在全域性的範圍內;而是永遠包含在資料型別
的宣告內(如類和結構的宣告中)。


·程式中沒有“::” 或“->”運算子。“::”不是 C# 的運算子,而“->”只用在一些特殊的場合(不安全代
碼中)。C# 程式用“.”分割名字域,如 Console.WriteLine。


·在 C# 中無需先宣告後使用,宣告的次序已沒有意義了。


·C# 不使用 #include 引入原始碼,不再是文字上地而是抽象地引用。比如,Console 類可以不用是 C# 編寫的。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1003094/,如需轉載,請註明出處,否則將追究法律責任。

相關文章