程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> Visual C#編程入門之Hello World

Visual C#編程入門之Hello World

編輯:C#基礎知識

  C#(發音為“See Sharp”)是簡單、現代、面向對象和類型安全的編程語言。C#起源於C語言家族,因此,C,C++和Java的程序員很快就能熟悉它。C#已經獲得了ECMA International和ISO/IEC的國際標准認證,它們分別是ECMA-334標准和ISO/IEC 23270標准。Microsoft用於.NET框架的C#編譯器就是根據這兩個標准實現的。

  C#是面向對象的語言,但C#進一步支持面向組件(component-oriented)的編程。現代軟件設計越來越依賴於自包含(self-contained)和自描述(self-describing)功能包形式的軟件組件。這種組件的關鍵之處在於它們提供了帶有屬性、方法和事件的編程模型;它們還具有提供關於組件聲明信息的特性(attribute);同時,它們編入了自己的文檔。C#提供語言構件來直接支持這些概念,使得C#在創建和使用軟件構件方面非常自然。

  C#的一些特征支持創建健壯和持久的應用程序:垃圾回收(garbage collection)特征可以自動回收無用對象所占的內存空間;異常處理(exception handling)提供了一個結構化和可擴展的方式,用於錯誤檢測和恢復;語言的類型安全(type-safe)設計了防止引用非初始化變量、數組下標越界,以及執行未檢查的類型轉換等情形的發生。

  C#具有統一類型系統。所有的C#類型,包括諸如int和double的基本數據類型,都繼承於單個根類型object。因此,所有類型都共享一組通用操作,並且,任何類型的值都能夠以一致的方式存儲、傳遞和操作。C#支持用戶自定義引用類型和值類型,既允許對象的動態分配,也允許輕量結構的內聯存儲。

  為了保證C#程序和類庫總能以兼容的方式升級,在C#的設計中十分強調版本控制。許多程序語言不太重視這一點,導致采用那些語言編寫的程序常常因為其所依賴的類庫的更新而無法工作。C#的設計方面直接受到版本考慮的影響,包括分開的virtual和override修飾符、方法重載的規則,以及支持對顯式接口成員的聲明。

  本章的其他部分將描述C#語言的本質特征。盡管後面的章節將更為詳細,有時甚至是細致入微地描述這些規則和異常,但是本章力求對整個C#做一個簡單明了的說明。其意圖是向讀者提供對語言的入門介紹,以便於讀者上手編寫程序和閱讀後面的章節。

  1.1 Hello World

  學習某種編程語言,通常采用“Hello,World”程序作為起步。下面是C#版的:

  

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

  C#源程序文件一般用.cs作為擴展名。假定“Hello,World”源程序文件被存為hello.cs,那麼,使用下面的命令行就能通過Microsoft C#編譯器編譯這個程序:

  csc hello.cs

  它將產生一個名為hello.exe的可執行程序集。當程序運行時,輸出結果如下:

  Hello,World

  “Hello,World”程序開頭是using指令,引用了System命名空間(namespace)。命名空間提供了C#程序和類庫分層次的組織手段。命名空間包含類型和其他命名空間,例如,System命名空間包含若干類型(如程序中引用的Console類),以及若干其他命名空間(如IO和Collections)。如果通過using指令引用給定命名空間,就可以對命名空間的成員進行非限定的使用。正是由於程序中使用了using指令,才能夠將System.Console.WriteLine簡寫為Console.WriteLine。

  “Hello,World”程序中聲明的Hello類只有一個成員,即名為Main的方法。Main方法是用static修飾符聲明的。靜態方法不同於實例方法,後者需要使用關鍵字this來引用特定的對象實例,而靜態方法的操作不需要引用特定的對象。作為約定,被命名為Main的靜態方法充當程序的入口點。

  程序輸出是由System命名空間下Console類的WriteLine方法產生的。這個類是由.NET框架類庫提供的,默認情況下,類庫被Microsoft C#編譯器自動引用。注意C#本身沒有單獨的運行時類庫。事實上,.NET框架是C#的運行時類庫。

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