c#基礎知識新手篇

C#是微軟公司設計用來在.net平台上開發程序的主要程式語言。它吸收了C、C++與Java各自的優點,是一種新型的面向對象的高級程序語言。C#語言主要涉及類(Class)、對象(Object)、繼承(Inheritance)等面向對象的概念,在特點上,與Java較為相似。  1.1 .NET Framework  以往的程序設計人員,要麼利用Visual C++的MFC(Microsoft Foundation   Classes),要麼通過Visual Basic APIs(Application Programming   Interfaces)來開發項目,沒有統一的標準,沒有共同的開發結構。為了滿足不同項目的開發需求,程序設計人員得不斷地學習各種語言的開發結構,而不能專注於程序本身上的設計。.NET   Framework的出現則改變了這種混亂的局面,它主要有以下的特點:  ? .NET   Framework結合了微軟當前所有的開發結構,讓程序設計人員能夠利用C#等中間語言來編寫程序,這類中間語言和其他程式語言的函數庫、恆彩http://hcgnb.com/恆彩使用方式、類及名稱都相同。因此,設計人員可以專注於程序算法上的設計,而避免奔波於不同語言的學習。  ? .NET Framework通過建立一個可以跨不同程式語言的APIs(Application Programming   Interfaces),從而能夠在不同程式語言間進行連接、錯誤處理及編程調試(Debug)工作。通過該平台,程序設計人員可以將開發好的編程,順利移植到不同的平台上進行運行,還可以轉化成為網絡服務等。  ? .NET Framework以微軟的Component Object   Model(COM)作為基礎,並且利用更活動的運算方式將所有組件結合在一起,高效能的網頁組件體系簡化了編程工作,具有更好的安全性。  1.2 網頁服務時代  以往,網站設計人員總要以集成的方式來構建整個網站的應用程式,這種開發方式浪費了大量的人力物力,而且往往因為其中某一個環節出錯,而影響整個項目結構。新一代的網絡編程則可以利用C#,將Web編程創建在例如企業級模板等多層式結構系統上,並利用網絡服務(Web   Services)在網上將不同的小組,利用不同開發語言設計出來的模塊協同運行。它降低了開發人員彼此之間溝通的困難。  利用網頁服務,程序設計人員將應用程式集成在網絡的服務中,遠端系統可以通過網絡來調用這些應用程式,就像在本機服務一樣。  1.3 C#的主要功能  C#的主要功能主要表現在以下幾個方面:  ? 設計Windows應用程式  ? 自定義Windows控制庫  ? 設計控制台應用程式  ? 設計智能設備應用程式  ? 設計ASP.NET Web應用程式  ? 設計ASP.NET Web服務  ? 設計ASP.NET移動Web應用程式  ? 自定義Web控制項庫  ASP.NET正是能吉祥彩http://jxcnb.com/吉祥彩C#為基礎所開發出來的控制項、標記。在中間語言的領域裡,C#是最具親和力的一種語言,它擁有著C語言與Java語言的主要特點,同時擁有功能強大的函數庫、方便的模板等,是目前最理想的語言之一。  2 C#程序結構  程序一般都有其固定的結構與限制。C#撰寫出來的應用程式,都是由一個個類(Class)組成的,連程序也包含在類里。以下是一個99彩平台http://99caipiao.com.cn/99彩平台用C#編寫的簡單的控制台應用程式,它可以形象地說明C#編寫的應用程式的結構特點。  using System;  namespace ConsoleApplication1  {  class Class1  {  static void Main(string[] args)  {  // TODO: 在此處添加代碼以啟動應用程式  }  }  }  上面的程序大致地搭出了應用程式的一個框架,雖然不執行什麼操作,但是仍然可以正確地編譯、運行。  注意:建議讀者從本章開始,對書中所提供的程序示例,親自進行撰寫、編譯和運行。在這個過程中,才可能得到有益的學習經驗。  2.1 程序入口點  幾乎所有程序設計語言都有固定的進入方式及程序組成結構,C#也一樣。學習過C語言或者C++,對下面的程序代碼便不會感到陌生,它是一個標準的C語言程序進入點。  void main()  {  //程序寫在這裡  }  C#程序與C語言類似,也是從Main()函數開始執行,只是需要留意,這裡Main是首字母大寫,不能寫成小寫,並且其前面必須加上關鍵字static。例如,前面的範例程序中,程序入口點是:  static void Main(string[] args)  {  // TODO: 在此處添加代碼以啟動應用程式  }  注意:在C#語言裡,是區分大小寫的,所以Main()完全不等同於main().  2.2 using的用法  在C#程序中,不管是簡單的數據類型,還是執行其他複雜操作,都必須通過函數庫才能實現。.NET類庫(Library)中99彩票http://99caiw.com/list/?5_1.html99彩票包含了許多類,例如按鈕、複選框等等。利用類庫,便可以開發出具有優美界面的應用程式。  .NET類庫中還包含了許多可以實現其他豐富功能的類,例如存取網絡、資料庫操作等,這些類庫使C#編寫的程序功能無比強大。  為了方便地運用這些函數庫,C#程序中,必須使用using關鍵字將函數庫包含進來。如果有C或C++語言基礎,便可以看出,C#的using與C或C++中的#Include十分相似,都是為了使用已經設計好的程序。  以下程序代碼的執行結果是,在DOS命令窗口中,按提示鍵入自己的名字後,顯示一條歡迎信息,如圖1所示。如果去掉using這一行,則程序編譯無法通過。  圖1 命令窗口中的執行結果  using System;  namespace ConsoleApplication1  {  class Class1  {  static void Main(string[] args)  {  Console.WriteLine("Please enter your name:"); //輸出提示信息  Console.ReadLine(); //從鍵盤讀入一行字符  Console.WriteLine("Welcome to the world of C# !"); //顯示歡迎信息  }  }  }  範例中使用了System下的一個叫做Console的類。利用Console類,範例程序在DOS命令窗口裡輸出、讀入了字符信息。  第一行程序使用using關鍵字的主要目的是讓編譯器知道,程序中將要使用定義在System中的所有類。程序設計人員在程序中,便可以不必通過完整的類的名稱來使用類,例如System.Console.Write。  如果不使用using關鍵來設計C#程序,要實現範例中的功能也是可以的,只是這時候編譯器不知道,程序中會使用定義在System中的類,設計人員在使用System中的類時,需要輸入完整的類名稱。例如,上面的範例程序在去掉using關鍵字的第一行程序後,程序要修改如下:  System.Console.WriteLine("Please enter your name:"); //輸出提示信息  System.Console.ReadLine(); //從鍵盤讀入一行字符  System.Console.WriteLine("Welcome to the world of C# !"); //顯示歡迎信息  2.3 命名空間(Namespace)  C#程序主要是利用命名空間(Namespace)來組織的,函數庫就是由一個個的命名空間來組成。每個命名空間都可以視為一個容器,容器里可以存放類、接口、結構等程序。.NET就是用命名空間來對程序進行分類,把功能相似的類、結構等程序放在同一個命名空間裡,便於管理也便於程序設計人員使用。  最常見也常用的命名空間是System命名空間,它包含了許多常用的結構類型,例如int、bool,還有許多類,如Console、Expection。  引用內置命名空間的方法就是使用前一節介紹的using關鍵字:  using System;  程序設計人員還可以設計自己的命名空間,以供別人或者自己設計程序時使用。定義命名空間,只要在命名空間的名稱前加上關鍵字namespace即可,例如:  namespace ConsoleApplication1  命名空間作為一個容器,其裡面的區域需要用一個大括號「{}」來標示,這與類(Class)和方法(Method)的定義一樣,例如:  namespace MyNamespace  {  public class HelloWorld  {  public void Display()  {  System.Console.WriteLine("Hello,World!");  }  }  }  這個自定義的命名空間MyNamespace,包含了一個類HelloWorld。與使用函數庫里的命名空間一樣,程序設計人員可以利用using關鍵字來使用類HelloWorld,例如:  using MyNamespace;  public class UseClass  {  static void Main()  {  HelloWorld.Display(); //使用MyNamespace里的類HelloWorld  }  }  或者不用using關鍵字,而直接用完整的類名來使用類HelloWorld,例如:  MyNamespace.HelloWorld.Display(); //使用MyNamespace里的類HelloWorld

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場