人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

Visual C#編程基礎(chǔ)之C#的結(jié)構(gòu)

Visual C#編程基礎(chǔ)之C#的結(jié)構(gòu)

更新時(shí)間:2022-07-09 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

C#中程序結(jié)構(gòu)的關(guān)鍵概念為程序、命名空間、類型、成員和程序集。C#程序包括一個(gè)或多個(gè)源文件。程序中聲明類型,類型包含成員并能夠被組織到命名空間中。類和接口是類型的例子。字段、方法、屬性和事件則是成員的例子。當(dāng)C#程序被編譯時(shí),它們被物理地打包到程序集中。程序集的文件擴(kuò)展名一般為.exe或者.dll,這取決于它們是實(shí)現(xiàn)為應(yīng)用程序(application),還是類庫(kù)(library)。
  示例:

  using System;
  namespace Acme.Collections
  {
  public class Stack
  {
  Entry top;
  public void Push(object data){
   top=new Entry(top,data);
  }

  public object Pop(){
   if (top==null) throw new InvalidOperationException();
    object result=top.data;
    top=top.next;
    return result;
  }
  class Entry
  {
   public Entry next;
   public object data;

   public Entry(Entry next,object data){
    this.next=next;
    this.data=data;
   }
  }
  }
  }

  在叫做Acme.Collections的命名空間下,聲明名為Stack的類,這個(gè)類的完全限定名就是Acme.Collections.Stack。它包括幾個(gè)成員:一個(gè)名為top的字段,兩個(gè)分別命名為push和pop的方法,以及一個(gè)名為Entry的嵌套類。Entry類又進(jìn)一步包括三個(gè)成員:一個(gè)名為next的字段,一個(gè)名為data的字段,以及一個(gè)構(gòu)造函數(shù)。假定這個(gè)示例的源程序被存為acme.cs文件,命令行為:

  csc /t:library acme.cs

  將這個(gè)示例編譯為類庫(kù)(不帶Main入口點(diǎn)的代碼),并且產(chǎn)生一個(gè)名為acme.dll的程序集。

  程序集包括中間語(yǔ)言(Intermediate Language,IL)指令形式的可執(zhí)行代碼,以及元數(shù)據(jù)(metadata)形式的符號(hào)信息。在它執(zhí)行之前,程序集的IL代碼將被.NET公共語(yǔ)言運(yùn)行庫(kù)(Common Language Runtime,CLR)自動(dòng)轉(zhuǎn)換成特定處理器的代碼。

  由于程序集是自描述的功能單元,它既包括代碼,也包括元數(shù)據(jù),因此,在C#中不需要#include指令和頭文件。假如某個(gè)C#程序需要引用特定程序集中的公共類型和成員,那么只在編譯時(shí)簡(jiǎn)單地引用那個(gè)程序集就可以了。例如,下面的程序使用來(lái)自acme.dll程序集中的Acme.Collections.Stack類:

  using System;
  using Acme.Collections;

  class Test
  {
  static void Main(){
  Stack s=new Stack();
  s.Push(1);
  s.Push(10);
  s.Push(100);
  Console.WriteLine(s.Pop());
  Console.WriteLine(s.Pop());
  Console.WriteLine(s.Pop());
  }
  }

  如果程序被存為test.cs文件,那么,在test.cs被編譯時(shí),acme.dll可以通過(guò)/r選項(xiàng)被引用:

  csc /r:acme.dll test.cs

  這樣可以創(chuàng)建一個(gè)名為test.exe的可執(zhí)行程序集,運(yùn)行結(jié)果如下:

  100
  10
  1


      C#允許一個(gè)程序的源文本被存為幾個(gè)源文件。當(dāng)多文件的C#程序被編譯時(shí),所有的源文件都被一起處理,并且各個(gè)源文件從概念上能夠自由地相互引用,就如同處理之前,所有的源文件被連接成一個(gè)大文件。在C#中向前聲明是沒(méi)有必要的,原因就是聲明的順序無(wú)關(guān)緊要。C#不限制一個(gè)源文件只能聲明一個(gè)公共類型,也不要求源文件名必須與該文件中的類型相匹配譯注1。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 许昌市| 太湖县| 霍林郭勒市| 赤峰市| 海晏县| 高邑县| 阿城市| 金门县| 东台市| 龙南县| 包头市| 昭觉县| 鹤山市| 栾城县| 巴里| 孝义市| 多伦县| 白玉县| 尤溪县| 凉山| 淳安县| 渝中区| 乾安县| 蒲江县| 托克逊县| 兰考县| 彭州市| 怀化市| 嘉禾县| 威远县| 江川县| 三台县| 安庆市| 叶城县| 改则县| 儋州市| 陵水| 阳东县| 永顺县| 安康市| 荥阳市|