亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? c#網絡編程寶典(1).txt

?? 學習(編程技巧_編程知識_程序代碼),是學習編程不可多得的學習精驗
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
C#網絡編程寶典(1)
 

--------------------------------------------------------------------------------
 
第八軍團 時間:2003-11-23 9:16:37 
   
從這一期起,我們將通過一系列文章來詳細介紹如何利用C#開發網絡應用程序。C#,讀作“C-Sharp”,是微軟推出的新一代軟件開發語言。或許你會問,目前已經有了這么多開發語言,如Visual C++、Visual Basic、Java等,為什么還要推出C#呢?下面就來先解答一下這個問題。
簡單地說,C#是未來的主流開發語言。因為在未來的企業計算領域,C#將會成為用于編寫“下一代窗口服務”(Next Generation Windows Services,簡寫為NGWS)應用程序的主要語言。C#是專門為.NET平臺度身定做的一種開發語言,它既擁有Visual Basic簡單易用的特性,同時又具備Visual C++強大的功能。此外,C#背靠微軟,微軟為.NET框架投入的人力和物力比已往任何一個系統都多也是一個不爭的事實。雖然目前使用C#開發應用程序并不普遍,但可以預見,隨著下一個視窗操作系統——Windows .NET Server的推出,.NET框架將內嵌在操作系統之中,C#必定有著更廣大的發展空間,所以對于程序員,尤其是那些將要加入程序員行列的人而言,C#是一個非常明智的選擇。
一、C#——一種新的開發語言
雖然C#是從C/C++家族中演化而來的,如C#和C++的百分之九十九的語法都相同,但作為一種全新的開發語言,C#比C++有更多的優點。下面就通過它和C++比較,看看它到底“新”在哪里:
●簡潔實用
C#和C++相比較,最大的特點就是簡潔與實用。首先,使用C#的開發者再也不必擔心C++中的內存管理和指針之類的煩雜問題。其次,C#中的操作符與C++相比大大地減少了。比如,C++中關于類成員及類方法有“::”、“.”和“->”三種操作符,分別用于不同的環境,而C#中只要用“.”操作符就可以了。由于C#使用統一的類型系統,它徹底摒棄了C++中多變的類型系統。C#也徹底解決了存在于C++中已經有些年頭的冗余的東西,如常數預定義、不同字符類型等。
●流行現代
學習并掌握C#要花費很多的時間和精力,但絕對是一筆很值得的投資。因為C#是為編寫NGWS應用程序的主要語言而設計,掌握了C#也就掌握了未來的編程語言的主流。使用過C#的程序員會發現很多用C++實現起來非常困難的功能,在C#中不過是一個基本的功能而已。同樣,如果你是一個企業級的程序員,一定非常喜歡新增的金融數據類型。這是一種新的十進制數據類型,它專用于金融計算方面。C#同樣允許程序員根據自己的愛好或者特殊的需要,非常容易地創建出新的一種數據類型。C#能夠保證編寫的應用程序更安全。這是因為C#提供了元數據語法,用于聲明下述NGWS安全模式的能力和許可。元數據是NGWS運行時的一個關鍵的概念,它是描述和引用VOS(虛擬對象系統,Virtual Object System)類型系統所定義的一種類型。其永久格式與編程語言無關。
●完全面向對象
C#是一個完全的面向對象開發語言,支持面向對象的所有關鍵概念,如封裝、繼承和多態性。完整的C#類模式構建在NGWS運行時的虛擬對象系統(簡稱VOS,Virtual Object System)的上層,所以對象模式只是基礎的一部分,不再是編程語言的一部分。在C#中不再有什么全局函數、變量或者是常量。所有的東西都封裝在類中。這些使得C#代碼更加易讀且有助于減少潛在的命名沖突。
●安全可靠
C++中,指針能自由地強制轉換成為任何類型,甚至可以實現把int *(整型指針)強制轉換成一個double *(雙精度指針)。當然這需要內存支持這種操作。但這決不是你所想象的企業級編程語言的類型安全。C#實施最嚴格的類型安全,以保證應用程序及垃圾收集器(garbage collector)能夠正確運行。如在C#中不能使用沒有初始化的變量。對于對象的成員變量,編譯器負責清零。而局部變量,則由程序員負責清零。當程序中使用一個沒有初始化的變量時,編譯器會發出提示,并引導你如何做。這樣就能夠避免由于使用不經初始化的變量計算結果而導致的錯誤,而這些錯誤是很難發現的。C#取消了不安全的類型轉換,比如你不能把一個整型強制轉換成一個引用類型(如對象)。邊界檢查是C#類型安全的一部分。數組定義了n-1個元素卻超額地使用了n個元素的情況在C#中是不會出現。C#通過在語句級或應用程序級來檢測,算術運算是否溢出終值數據類型的范圍。在允許檢測溢出的情況下,當溢出發生時將會拋出一個異常。在C#中,被傳遞的引用參數是類型安全的。
●版本可控
幾乎所有的程序員都遇到過“DLL陷阱”的頭疼事情。問題起因于多個應用程序都安裝了相同名字DLL的不同版本。有時,老版本的應用程序可以很好地和新版本的DLL一起工作,但是更多的時候它們會中斷運行。C#可以最好地支持版本控制。盡管C#不能確保正確的版本控制,但是它可以為程序員保證版本控制成為可能。有這種支持,一個開發人員就可以確保當他的類庫升級時,仍保留著對已存在的客戶應用程序的二進制兼容。
●兼容性
C#雖然是開發NGWS應用程序的主要語言,但也可以方便的通過互操作來訪問現有的COM組件和Win32 API函數,這樣就能夠最大程度的利用現有的資源。
上面描述了C#的種種優點,那么或許你會問,C#最終會取代C++么?其實不然。答案非常明顯,第一,C++已經發展了許多年了,有大量的使用者,這些資源不容浪費。第二,C++在性能和對底層控制上的能力是C#難以比擬的。所以說C#雖有優點,但C++也不是沒有長處,在可以預見的將來,它們將會相處很長時間。
綜上所述,C#是一種優雅、簡單、類型安全、面向對象的語言,C#的語言特色都和.NET平臺有著密不可分的關系,比如C#本身無類庫,它使用的是.NET FrameWork SDK所提供的類庫——.NET FrameWork SDK。此外,C#擁有的類型安全檢驗、垃圾的自動回收以及結構化的異常處理等操作,也都是直接交給.NET平臺中的通用語言運行時(Common Language Runtime,簡稱CLR)來處理的。所以說C#是最適合開發.NET平臺下的應用程序的程序語言。
二、用C#編寫“Hello World!”
當開始介紹一種新的語言的時候,好像已經成為了一種約定,都是從編寫輸出字符串“Hello World!”的程序開始的(順便插一句:有人說程序員都很古板,我看不一定,“Hello World!”不就充分體現出程序員的浪漫情懷)。本節便來介紹一下C#是如何編寫、編譯“Hello World!”程序的。
我編寫、調試和運行的軟件環境為:視窗2000服務器版、.NET FrameWork SDK 1.0正式版。在.NET FrameWork SDK 1.0正式版中不僅提供了類庫和編譯器,還提供了編寫、構建、測試和部署.NET 框架應用程序所需的文檔、示例代碼、命令行工具。你可以從地址http://www.microsoft.com/china/msdn/downloads/msdncompositedoc.asp中下載這個軟件開發包。.NET FrameWork SDK 1.0正式版可是一個131M的大文件,要下載的朋友可要有點心理準備。要安裝.NET FrameWork SDK 1.0正式版,必須保證你的操作系統是下列之一:
(1)Microsoft Windows NT 4.0(需要安裝SP 6a)
(2)Microsoft Windows 2000(建議使用SP2)
(3)Microsoft Windows XP Professional
(4)Microsoft Windows .NET Server
系統還必須滿足下列軟件要求:
(1)IE 5.01版(推薦使用IE 6.0)。
(2)Microsoft Data Access Components 2.6(MDAC2.6),推薦采用MDAC 2.7。
(3)Internet Information Services(IIS)5.0版或更高版本。
現在我們開始編寫C#版本的“Hello World!”程序。首先打開一個文本編輯器,你可以使用Windows自帶的NotePad或者其他的行編輯器,把下列的代碼輸入到編輯框中。請注意,代碼中每一行前面的數字代表行號,是為方便后面的程序說明而添加上的,實際輸入時應該忽略掉這些數字:
1   using System;
2   namespace temp
3   {
4       class HelloWorld
5       { 
6           public static void Main()
7           {
8               Console.WriteLine (" Hello World ! ") ;
9           } 
10      }
11  }
然后把文件另存為HelloWorld.cs文件(注:"cs"是C#源文件的擴展名)。這樣"Hello World!"程序的C#版本就產生了。雖然HelloWorld.cs非常短小,但基本具備了C#程序的框架結構,下面就結合HelloWorld程序來具體探討一下。
第1行的作用是告訴編譯器,此程序要引用命名空間“System”。引用命名空間使用的是“using”關鍵字。至于在哪個文件中找“System”命名空間,是通過編譯的時加入“r”參數實現的,具體可參見下面的編譯命令。引入“System”命名空間,是為了達到簡化后面程序編碼的效果。這是因為后面使用到的“Console”類就被封裝在“System”命名空間中。引用命名空間后,再調用Console類中的WriteLine方法時,就可以直接用Console.WriteLine來代替System.Console.WriteLine了。由于HelloWorld程序的代碼量很小,簡化編碼的效果并不明顯,但對于代碼量大、使用了許多命名空間的程序,這種簡化作用就非常明顯了。由于引用命名空間所起的只是簡化編碼的作用,所以這一行代碼并不是非要不可的。
第2行是在C#程序中定義命名空間,這里的命名空間的名稱可以看成和上面的“System”命名空間相類似。其實定義命名空間對于“Hello World!”程序是沒有什么太多意義的,因為“Hello World!”程序從本質上是一個控制臺程序。而定義命名空間主要的作用是聲明一個范圍,此這個范圍允許組織代碼并為你提供了創建全局唯一類型的方法。在C#組件編程中,定義命名空間是很有意義的,因為在一個命名空間中,可以在定義若干個類。所以定義命名空間這一句,對于“Hello World!”程序也不是非要不可的。
第4行是在程序中創建一個類,類的創建過程對于“Hello World!”程序是必須的,因為C#程序的入口函數Main()就必須位于類或者結構體之中。當然這個類的名稱,在“Hello World!”程序中是可以隨意設定,這都不妨礙程序的正確編譯和執行,但如果編寫的程序要編譯成的是類庫文件,就必須要明確定義的類的名稱,因為在程序調用的時候要使用這個名稱。這是后話了。
第6行是申明Main()函數(也叫Main方法),Main()函數是編譯器規定的所有可執行程序的入口點,并控制程序的開始和結束,用戶在Main函數中創建對象和執行方法。由于Main()函數的特殊性,Main()函數在程序中必須遵循下列原則:
1.Main()函數必須封裝在類或結構里來提供可執行程序的入口點。
2.Main()函數必須是一個靜態函數(static)。正如前文所說,Main()函數也可以看成是一個方法,而這個方法就被封裝在HelloWorld類中。把Main()函數定義為靜態函數,就意味著,在C#中不用創建實例就可以調用此方法。
3.Main()函數對于保護級別沒有特殊要求,public、protected、private等都可以,但一般都指定其為public,有些時候還不指定保護級別。
4.C#對大小寫非常敏感,無論是引用命名空間,調用類庫等。書寫不正確則編譯器無法識別,并返回錯誤值。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区在线| 亚洲另类在线视频| 国产精品久久99| 日精品一区二区三区| 成人三级伦理片| 欧美一区二区大片| 最好看的中文字幕久久| 久久se这里有精品| 欧美亚洲高清一区| 欧美国产精品一区二区三区| 日本欧美在线看| 在线区一区二视频| 亚洲图片激情小说| 国产成人av福利| 日韩一级片在线播放| 一级精品视频在线观看宜春院| 国产91精品精华液一区二区三区 | 亚洲一二三四区| 亚洲视频综合在线| 国产河南妇女毛片精品久久久| 91麻豆精品国产91久久久久久| 一区二区三区资源| 99久久精品免费| 国产精品久久777777| 国产精品亚洲а∨天堂免在线| 欧美videossexotv100| 美腿丝袜亚洲色图| 欧美一区二区三区四区视频| 亚洲成av人片www| 欧美吞精做爰啪啪高潮| 亚洲综合一二区| 色婷婷综合视频在线观看| 1区2区3区欧美| av不卡免费电影| 中文字幕永久在线不卡| 97久久超碰国产精品| 国产精品久久久爽爽爽麻豆色哟哟 | 欧美mv日韩mv| 久久激情综合网| 欧美一二三四区在线| 日韩高清不卡一区二区三区| 91麻豆精品国产| 玖玖九九国产精品| 欧美成人国产一区二区| 久久国产精品99精品国产| 久久只精品国产| 国产成人一级电影| 亚洲视频小说图片| 欧美日韩免费一区二区三区视频| 日韩精彩视频在线观看| 欧美成人r级一区二区三区| 国内精品伊人久久久久av影院| 国产亚洲欧美在线| 91蜜桃在线免费视频| 天天av天天翘天天综合网| 欧美一级免费大片| 国产99久久精品| 亚洲国产一区二区视频| 日韩小视频在线观看专区| 国产黄色精品视频| 一区二区视频在线看| 日韩一区二区电影| 成a人片国产精品| 亚洲成av人片一区二区三区| 精品成人a区在线观看| 99久久精品久久久久久清纯| 午夜激情一区二区三区| 欧美激情一区二区三区| 欧美午夜电影网| 国产大片一区二区| 洋洋av久久久久久久一区| 精品免费一区二区三区| 色综合久久88色综合天天6 | 亚洲女人的天堂| 欧美一二三四在线| 色94色欧美sute亚洲线路二| 久久66热re国产| 亚洲精品少妇30p| 久久综合九色综合97婷婷女人| 色综合网站在线| 极品瑜伽女神91| 亚洲综合图片区| 欧美国产精品久久| 日韩欧美你懂的| 欧美视频三区在线播放| 国产一区二区三区av电影| 亚洲国产视频a| 国产精品萝li| 久久影音资源网| 91麻豆精品国产91久久久资源速度| 不卡免费追剧大全电视剧网站| 免费人成在线不卡| 亚洲一区二区三区爽爽爽爽爽| 国产精品午夜在线观看| 精品久久国产老人久久综合| 欧洲国产伦久久久久久久| 成人国产精品免费网站| 国内外成人在线| 美女视频黄免费的久久| 亚洲成人你懂的| 亚洲综合一二三区| 亚洲精品免费在线观看| 国产精品麻豆网站| 国产精品全国免费观看高清| 精品国产一区二区三区久久久蜜月| 欧美偷拍一区二区| 日本二三区不卡| 99这里都是精品| 国产盗摄精品一区二区三区在线| 奇米影视7777精品一区二区| 亚洲国产精品人人做人人爽| 国产精品成人一区二区艾草 | 中文字幕免费在线观看视频一区| 欧美电影免费提供在线观看| 在线综合+亚洲+欧美中文字幕| 欧美中文字幕亚洲一区二区va在线| 99久精品国产| 91蝌蚪porny| 色婷婷av一区二区| 欧美中文一区二区三区| 欧美日韩第一区日日骚| 欧美精品99久久久**| 91精品国产免费久久综合| 91精品久久久久久蜜臀| 日韩三级.com| 久久午夜色播影院免费高清| www亚洲一区| 国产欧美在线观看一区| √…a在线天堂一区| 亚洲欧美视频在线观看| 亚洲香蕉伊在人在线观| 日本中文字幕一区| 久久国产尿小便嘘嘘| 国产不卡视频一区| 日本乱人伦一区| 3atv一区二区三区| 久久久午夜精品| 亚洲天堂精品在线观看| 午夜电影一区二区三区| 日本免费在线视频不卡一不卡二 | 91精品国产欧美日韩| 欧美mv日韩mv国产| 国产精品久久久久久久久图文区 | 久久久久久免费网| 亚洲精品国产高清久久伦理二区| 亚洲444eee在线观看| 国产综合色在线视频区| 91麻豆精东视频| 日韩免费在线观看| 亚洲久本草在线中文字幕| 婷婷成人激情在线网| 国产99久久久国产精品免费看| 日本电影欧美片| 久久久久久亚洲综合| 一区二区免费在线| 国产综合久久久久久鬼色| 日本韩国精品一区二区在线观看| 欧美一区二区三区不卡| 国产精品麻豆久久久| 毛片一区二区三区| 在线日韩一区二区| 国产欧美一区二区精品仙草咪| 亚洲制服丝袜av| 粉嫩一区二区三区在线看| 91精品国产色综合久久不卡电影 | 久久久综合视频| 亚洲成av人**亚洲成av**| 国产精品1区2区| 欧美一区二区播放| 一区二区三区中文字幕精品精品 | 91热门视频在线观看| 日韩欧美123| 亚洲高清在线视频| 不卡区在线中文字幕| 精品福利二区三区| 丝袜亚洲精品中文字幕一区| 99久精品国产| 欧美经典三级视频一区二区三区| 免费高清不卡av| 欧美羞羞免费网站| 亚洲柠檬福利资源导航| 极品美女销魂一区二区三区免费| 欧美日韩国产免费一区二区| 中文字幕一区二区三| 国产激情视频一区二区在线观看 | 国产寡妇亲子伦一区二区| 欧美专区在线观看一区| 中文字幕乱码亚洲精品一区| 精品一区二区三区的国产在线播放 | 国产白丝网站精品污在线入口| 日韩午夜电影av| 五月天中文字幕一区二区| 91极品视觉盛宴| 亚洲欧美日韩电影| 91视频国产资源| 国产精品高潮久久久久无| 春色校园综合激情亚洲| 中文字幕av免费专区久久| 国产成人av电影免费在线观看| 久久新电视剧免费观看|