官术网_书友最值得收藏!

第1章C# 簡介

本章主要了解什么是 .NET Framework、什么是C#,并簡要介紹Visual Studio 2008和如何學(xué)習(xí)C#語言。

1.1 什么是.NET Framework

介紹C#之前,必須了解C#運(yùn)行的環(huán)境.NET Framework。

在Windows之前的時(shí)代,DOS或者UNIX,都只是提供普通的函數(shù)編程接口,所有應(yīng)用程序都直接調(diào)用操作系統(tǒng)的函數(shù)接口。Windows剛剛發(fā)布的時(shí)候,也是通過Windows API提供系統(tǒng)函數(shù)調(diào)用,當(dāng)時(shí)編寫Windows應(yīng)用程序時(shí)也需要緊密研究Windows API。

但這種軟件開發(fā)的方法屬于面向過程的結(jié)構(gòu)化程序設(shè)計(jì)方式,伴隨面向?qū)ο蟪绦蛟O(shè)計(jì)開發(fā)技術(shù)的成熟,在Windows API上提供一套面向?qū)ο蟪绦蛟O(shè)計(jì)類庫,使得編寫Windows應(yīng)用程序變得更為簡單。

一時(shí)間,Windows上的開發(fā)工具,Visual Basic、Visual C++、Delphi、Visual FoxPro、PowerBuilder等都各自提供了一套開發(fā)庫。雖然這些開發(fā)庫大大簡化了應(yīng)用程序的編寫,我們只需要拖放控件即可實(shí)現(xiàn)應(yīng)用程序的界面設(shè)計(jì),但這些開發(fā)庫各自成為一個(gè)體系,相互之間差異頗大,各有特長,應(yīng)用程序設(shè)計(jì)人員在開發(fā)不同的應(yīng)用程序時(shí),需要使用不同的開發(fā)工具,這就需要重新學(xué)習(xí)一套庫的使用,既浪費(fèi)時(shí)間,也使得項(xiàng)目開發(fā)的進(jìn)度變慢。

如圖1-1所示,聰明的工程師們便想到,吸收這些控件庫的優(yōu)點(diǎn),開發(fā)出一套中間庫,讓所有的開發(fā)語言都調(diào)用一套相同的庫,各種開發(fā)語言都使用統(tǒng)一的開發(fā)庫,這樣可以簡化開發(fā)語言的設(shè)計(jì)和應(yīng)用程序的編寫。這就是 .NET Framework這套面向?qū)ο髴?yīng)用程序庫開發(fā)的最初目的。

圖1-1 .NET Framework所處的中間位置

同時(shí),這套庫屏蔽了應(yīng)用程序和操作系統(tǒng)之間的直接連接,操作系統(tǒng)可以根據(jù)自己的需要進(jìn)化,變得更加穩(wěn)定、強(qiáng)壯和安全,這樣操作系統(tǒng)的開發(fā)也可以從這套庫的運(yùn)行中得益。

并且,在開發(fā)這套 .NET Framework時(shí)充分考慮到未來發(fā)展的需要,只要新出現(xiàn)一種開發(fā)模式,便在庫中添加新的應(yīng)用程序開發(fā)模式即可。這幾年,Web網(wǎng)站成為一個(gè)火熱的新課題,人們就可以輕松地通過ASP.NET運(yùn)行庫,編寫差不多的網(wǎng)絡(luò)類應(yīng)用程序。這使得人們發(fā)現(xiàn),伴隨 .NET Framework而生的C#語言,既能編寫控制臺(tái)應(yīng)用,又能編寫Windows應(yīng)用,還能編寫ASP.NET網(wǎng)站類應(yīng)用,幾乎是一種全能語言。學(xué)習(xí)好了C#,就可以輕松進(jìn)入各個(gè)領(lǐng)域,這大大減輕了程序員的學(xué)習(xí)難度,提升了他們的技能空間。

所以,吸收了多種開發(fā)語言優(yōu)點(diǎn)的C#,以非??斓乃俣绕占傲?。

1.2 什么是C#

21世紀(jì)初,Microsoft推出了新一代程序開發(fā)環(huán)境Visual Studio.NET。為了配合 .NET應(yīng)用程序的開發(fā),促進(jìn) .NET戰(zhàn)略的發(fā)展,Microsoft同時(shí)推出了該環(huán)境下的主要編程語言C#(讀作C Sharp)。C#語言是針對(duì) .NET框架平臺(tái)開發(fā)的一種新型編程語言,完全建立在.NET框架平臺(tái)基礎(chǔ)之上。Microsoft宣稱,C#是開發(fā).NET框架應(yīng)用程序的最好語言。

1.2.1 C#概述

C#是Visual Studio.NET中包含的一種全新的開發(fā)語言。它從C/C++語言發(fā)展而來,具有與C/C++語言相似的語法,繼承和發(fā)揚(yáng)了C/C++語言的優(yōu)點(diǎn)。同時(shí),由于是Microsoft公司的產(chǎn)品,它又同Visual Basic一樣簡單,在創(chuàng)建圖形用戶界面和事件驅(qū)動(dòng)的應(yīng)用程序方面的容易程度可以媲美Visual Basic。對(duì)于Web開發(fā)而言,C#又像Java/C++語言一樣,具有強(qiáng)大的功能和靈活性,使用起來更加方便和直觀。

C#語言雖然從C/C++語言發(fā)展而來,但是它摒棄了C/C++語言中容易出錯(cuò)的指針、多重繼承等概念,是一種完全面向?qū)ο?、類型安全的語言,與使用新的.NET框架的其他許多語言兼容,允許與具有C/C++語言風(fēng)格的需要傳遞指針類型參數(shù)的API進(jìn)行交互操作,允許C#語言組件與其他語言組件間的交互操作。C#是一種完全建立在.NET框架平臺(tái)之上的高級(jí)語言,其所有類型都是從 .NET Framework提供的統(tǒng)一類庫中派生的,并且所有的功能實(shí)現(xiàn)都依賴于這個(gè)類庫。C#中沒有多重繼承并且沒有模塊類。C#中的簡單類型僅僅是底層數(shù)據(jù)類型的直接映射。C#中的類型不是由語言本身確定的,而是由公共類型系統(tǒng)確定的。例如,在C#中,枚舉、屬性和事件都已內(nèi)建到語言中,雖然所有面向 .NET Framework的語言都可以使用該框架,但C#是完全針對(duì)這個(gè)框架的,它可以充分使用這個(gè)框架所提供的類、接口和對(duì)象。

延伸學(xué)習(xí)──C#與Java比較

C#語言與Java語言有諸多相似之處,只是在細(xì)節(jié)上有一些差別。實(shí)際上,C#與Java的主要區(qū)別不是在語言本身,而是所執(zhí)行的平臺(tái)。Java程序需要一個(gè)運(yùn)行環(huán)境JRE(Java Runtime Environment)來執(zhí)行代碼,但JRE只限于在Java語言中使用。C#語言也需要一個(gè)運(yùn)行環(huán)境CLR(Common Language Runtime),但是CLR提供了對(duì)多種語言的支持。Java源代碼可以被編譯成字節(jié)代碼的一種中間狀態(tài),然后由已提供的虛擬機(jī)來執(zhí)行這些代碼。C#代碼也被編譯成一種中間代碼,稱為中間語言(IL)。但是IL代碼則被傳輸?shù)接蒀LR管理的執(zhí)行進(jìn)程上,然后通過CLR的JIT編譯器編譯成本地代碼執(zhí)行。另外,C#語言還提供了一些Java語言中沒有的功能,如運(yùn)算符重載、封箱和裝箱以及方法隱藏等。

由于C#語言一開始就是完全按照面向?qū)ο蟮乃枷雭碓O(shè)計(jì)的,而且使用的全部是 .NET Framework定義的語法格式,不存在考慮與.NET之前版本兼容的問題。同時(shí),C#語言作為一種高級(jí)語言標(biāo)準(zhǔn),其基本的內(nèi)部實(shí)現(xiàn)形式是公開的,容易被更多種平臺(tái)接受。因此,C#語言給人的感覺是結(jié)構(gòu)清晰、語法簡潔、方便直觀和應(yīng)用廣泛。

1.2.2 C#的主要功能

C#是一種最新的、面向?qū)ο蟮木幊陶Z言,使得程序員可以快速地編寫各種基于Microsoft .NET平臺(tái)的應(yīng)用程序,Microsoft .NET提供了一系列的工具和服務(wù),來最大程度地開發(fā)利用計(jì)算與通信領(lǐng)域。正是由于C#面向?qū)ο蟮淖吭皆O(shè)計(jì),使它成為構(gòu)建各類組件的理想之選——無論是高級(jí)的商業(yè)對(duì)象還是系統(tǒng)級(jí)的應(yīng)用程序。

C#的功能主要表現(xiàn)在以下幾方面:

⊙ 設(shè)計(jì)Windows應(yīng)用程序。

⊙ 自定義Windows控制庫。

⊙ 設(shè)計(jì)控制臺(tái)應(yīng)用程序。

⊙ 設(shè)計(jì)智能設(shè)備應(yīng)用程序。

⊙ 設(shè)計(jì)ASP.NET Web應(yīng)用程序。

⊙ 設(shè)計(jì)ASP.NET Web服務(wù)。

⊙ 設(shè)計(jì)ASP.NET移動(dòng)Web應(yīng)用程序。

⊙ 自定義Web控件庫。

ASP.NET正是以C#為基礎(chǔ)所開發(fā)出來的控件、標(biāo)記。在中間語言的領(lǐng)域里,C#是最具親和力的一種語言,它擁有C語言和Java語言的主要特點(diǎn),同時(shí)擁有功能強(qiáng)大的函數(shù)庫和方便的模板等,是目前最理想的語言之一。

1.2.3 C#的主要特點(diǎn)

C#語言幾乎綜合了目前高級(jí)語言的優(yōu)點(diǎn),具有以下主要特點(diǎn)。

(1)簡潔的語法

C#語言與Java語言一樣,使用了統(tǒng)一的操作符,淘汰了C++語言中復(fù)雜的表達(dá)式和偽關(guān)鍵字,使用最簡單、最常見的形式進(jìn)行描述。

(2)卓越的面向?qū)ο笤O(shè)計(jì)

C#語言完全按照面向?qū)ο蟮乃枷雭碓O(shè)計(jì),因此具有面向?qū)ο笏鶓?yīng)具有的一切特性,即:封裝性、繼承性和多態(tài)性。

C#語言只允許單繼承,即一個(gè)類不會(huì)有多個(gè)基類,從而避免了類型定義的混亂。在C#語言中,每種類型都是一個(gè)對(duì)象,因此不存在全局函數(shù)、全局變量和全局常數(shù)等概念。所有常量、變量、屬性、方法、索引和事件等都必須封裝在類中,從而使代碼具有更好的可讀性,也減少了發(fā)生命名沖突的可能。

(3)與Web的緊密結(jié)合

在C#中,對(duì)于復(fù)雜的Web編程和其他網(wǎng)絡(luò)編程更像是對(duì)本地對(duì)象進(jìn)行操作,從而簡化了大規(guī)模、深層次的分布式開發(fā)。用C#語言構(gòu)建的組件能夠方便地為Web服務(wù),并可以通過Internet被運(yùn)行在任何操作系統(tǒng)上的任何語言所調(diào)用。

(4)完全的安全性和錯(cuò)誤處理

語言的安全性和錯(cuò)誤處理能力是衡量一種語言是否優(yōu)秀的重要依據(jù)。C#語言可以消除許多軟件開發(fā)中的常見錯(cuò)誤,并提供了包括類型安全在內(nèi)的完整的安全性能。

在默認(rèn)情況下,從Internet和Intranet下載的代碼都不允許訪問任何本地文件和資源;C#語言不允許使用未初始化的變量,并提供了便捷檢查和溢出檢查等功能。內(nèi)存管理中的垃圾回收機(jī)制大大減輕了開發(fā)人員對(duì)內(nèi)存管理的負(fù)擔(dān)。

(5)版本處理技術(shù)

C#語言內(nèi)置了版本控制功能,如對(duì)函數(shù)重載和借口的處理方式以及特性支持等,從而保證方便地開發(fā)和升級(jí)復(fù)雜的軟件。

(6)靈活性和兼容性

在托管狀態(tài)下,C#語言不能使用指針,而是用委托(Delegate)來模擬指針的功能。如果確實(shí)需要在類或者類的方法中使用指針,只需要聲明這些內(nèi)容為非安全即可。另外,雖然C#語言不支持類的多繼承,但是可以通過繼承接口來實(shí)現(xiàn)多繼承。

兼容性是指C#語言允許與具有C/C++語言風(fēng)格的需要傳遞指針類型參數(shù)的API進(jìn)行交互操作,允許C#語言組件與其他語言組件間的交互操作。

(7)商業(yè)過程和軟件實(shí)現(xiàn)的更好對(duì)應(yīng)

企業(yè)的商業(yè)計(jì)劃要付諸現(xiàn)實(shí),必須在抽象的商業(yè)過程和實(shí)際的軟件實(shí)現(xiàn)之間建立緊密地對(duì)應(yīng)。大多數(shù)語言都很難做到這點(diǎn)。

C#語言允許類型定義的、擴(kuò)展的元數(shù)據(jù)。這些元數(shù)據(jù)可以應(yīng)用于任何對(duì)象。項(xiàng)目構(gòu)建者可以定義領(lǐng)域特有的屬性并把他們應(yīng)用于任何語言元素,如類、接口等。

總之,C#是一種現(xiàn)代的面向?qū)ο笳Z言,使程序員可以快速、便捷地創(chuàng)建基于Microsoft .NET平臺(tái)的解決方案。這種框架使C#組件可以方便地轉(zhuǎn)化為XML網(wǎng)絡(luò)服務(wù),從而使任何平臺(tái)的應(yīng)用程序都可以通過Internet調(diào)用它。C#增強(qiáng)了開發(fā)者的效率,同時(shí)也致力于消除編程中可能導(dǎo)致嚴(yán)重結(jié)果的錯(cuò)誤。C#使C/C++程序員可以快速進(jìn)行網(wǎng)絡(luò)開發(fā),同時(shí)也保持了開發(fā)者所需要的強(qiáng)大性和靈活性。

1.3 Visual Studio 2008簡介

Visual Studio 2008是一套完整的開發(fā)工具集,其中的C#是使用最廣泛的開發(fā)語言,用于開發(fā)ASP.NET Web應(yīng)用程序、XML Web Services、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。Visual Basic、Visual C++、Visual C#和Visual J#都使用相同的集成開發(fā)環(huán)境(Integrated Development Environment,IDE),方便用戶快速有效地建立應(yīng)用程序。

1.3.1 環(huán)境要求

Visual Studio 2008是一個(gè)比較龐大的系統(tǒng)軟件,它對(duì)計(jì)算機(jī)的要求較高。下面給出了安裝和運(yùn)行Visual Studio 2008的系統(tǒng)需求。

⊙ 處理器:配備1.6 GHz或速度更快的處理器。

⊙ 內(nèi)存:384 MB或更大內(nèi)存(Windows Vista至少需要768 MB)。

⊙ 硬盤空間:完全安裝Visual Studio 2008大致需要4 GB的硬盤空間,再加上用戶開發(fā)的項(xiàng)目文件占用的空間,最小需要5 GB以上的硬盤空間。

⊙ 顯示設(shè)備:1024×768及以上的分辨率,16位顏色。

⊙ 光驅(qū):在安裝Visual Studio 2008時(shí),DVD光驅(qū)是必需的。如果需要的所有組件都已安裝在硬盤上,在開發(fā)過程中可以不再使用光驅(qū)。

⊙ 操作系統(tǒng):建議使用Windows XP或更新版本的操作系統(tǒng)。

1.3.2 安裝步驟

下面主要介紹在Windows Vista操作系統(tǒng)下安裝Visual Studio 2008的步驟。在其他操作系統(tǒng)中安裝Visual Studio.NET的過程大致相同。

(1)將Visual Studio 2008的安裝光盤放入DVD光驅(qū),自動(dòng)出現(xiàn)如圖1-2所示的界面。選擇第1項(xiàng)“安裝Visual Studio 2008”,安裝程序?qū)?duì)Windows組件進(jìn)行更新。因?yàn)閷⒁惭b的Visual Studio 2008的組件與原有的Windows組件不匹配,系統(tǒng)要求進(jìn)行更新,以便進(jìn)行Windows的升級(jí)工作。

圖1-2 “Visual Studio 2008安裝程序”對(duì)話框

(2)組件安裝過程如圖1-3所示。當(dāng)升級(jí)完畢,單擊“下一步”按鈕,進(jìn)行Visual Studio 2008的安裝。

圖1-3 Microsoft Visual Studio 2008安裝界面

(3)單擊“Visual Studio 2008”,出現(xiàn)如圖1-4所示的界面。在指定的文本框中輸入產(chǎn)品的密鑰(Product Key),即本軟件的使用密碼,用戶可以從軟件商提供的資料中找到。

圖1-4 “Microsoft Visual Studio 2008安裝程序-起始頁”對(duì)話框

(4)選中“我已閱讀并接受許可條款”復(fù)選框,單擊“下一步”按鈕,進(jìn)入下一界面,如圖1-5所示。在這里,可以通過“自定義”模式選擇需要安裝的項(xiàng)目。如果硬盤空間有限,可以不安裝MSDN Documentation。如果硬盤空間足夠大,建議用戶完全安裝。在該界面中,安裝程序允許選擇安裝路徑,Visual Studio 2008默認(rèn)的安裝路徑是“C:\Program Files\Microsoft Visual Studio 9.0\”。

圖1-5 “Microsoft Visual Studio 2008安裝程序-選項(xiàng)頁”對(duì)話框

(5)設(shè)置完畢,單擊“安裝”按鈕,開始安裝,如圖1-6所示。

圖1-6 “Microsoft Visual Studio 2008安裝程序-安裝頁”對(duì)話框

(6)安裝完成后,可選擇重新啟動(dòng)計(jì)算機(jī),安裝結(jié)束。

1.3.3 Visual Studio 2008新功能介紹

Visual Studio 2008比早期版本新增了許多功能,下面進(jìn)行簡要介紹。

(1)設(shè)置遷移

如果在同一臺(tái)計(jì)算機(jī)上安裝了Visual Studio 2005和Visual Studio 2008,在首次啟動(dòng)Visual Studio 2008時(shí),可以遷移Visual Studio 2005中的大多數(shù)設(shè)置。

(2)社區(qū)組件

在使用Visual Studio 2008創(chuàng)作社區(qū)組件時(shí),可以通過對(duì)ContentVersion元素使用新值來指定安裝組件是為了與Visual Studio 2008一起使用,還是與Visual Studio 2005和Visual Studio 2008一起使用。

(3)類設(shè)計(jì)器對(duì)Visual C++代碼的支持

在早期版本的Visual Studio中,類設(shè)計(jì)器僅支持托管語言(Visual C#和Visual Basic)。在Visual Studio 2008中,類設(shè)計(jì)器添加了對(duì)本機(jī)C++代碼的有限支持,可用于可視化和文檔。

(4)窗口管理和常規(guī)用戶元素

若干用戶界面(UI)元素已更新。這些功能包括:

⊙ IDE導(dǎo)航器:改進(jìn)后的界面使在各項(xiàng)之間進(jìn)行切換更輕松。

⊙ 對(duì)窗口??磕繕?biāo)經(jīng)過了改進(jìn),使??抗ぞ叽翱诟p松。

⊙ 通用對(duì)話框:Visual Studio 2008使用Windows標(biāo)準(zhǔn)對(duì)話框,而不是自定義對(duì)話框,使導(dǎo)航體驗(yàn)與Windows中的導(dǎo)航體驗(yàn)更加一致。

⊙ 提供了新選項(xiàng)“環(huán)境字體”。

(5)項(xiàng)目設(shè)計(jì)器對(duì)Windows Presentation Foundation(WPF)應(yīng)用程序的支持

Windows Presentation Foundation(WPF)應(yīng)用程序已經(jīng)添加到Visual Studio 2008中。有以下4種WPF項(xiàng)目類型:WPF應(yīng)用程序(.xaml和.exe),WPF瀏覽器應(yīng)用程序(.exe和.xbap),WPF自定義控件庫(.dll),WPF用戶控件庫(.dll)。

如果在IDE中加載了WPF項(xiàng)目,可以通過項(xiàng)目設(shè)計(jì)器頁的用戶界面指定特定于WPF應(yīng)用程序的屬性。

(6)項(xiàng)目設(shè)計(jì)器多目標(biāo)支持

通過使用多目標(biāo)功能,可以使代碼面向特定的.NET Framework版本:① .NET Framework 2.0,隨Visual Studio 2005提供;② .NET Framework 3.0,隨Windows Vista提供;③ .NET Framework 3.5,隨Visual Studio 2008提供。

(7)WPF設(shè)計(jì)器

通過使用WPF設(shè)計(jì)器,可以在IDE中創(chuàng)建WPF應(yīng)用程序和自定義控件。WPF設(shè)計(jì)器不僅具有XAML實(shí)時(shí)編輯功能,還可以改善用戶的圖形設(shè)計(jì)時(shí)體驗(yàn)。

以下功能是WPF設(shè)計(jì)器的新增功能:

⊙ 使用SplitView,可以調(diào)整圖形設(shè)計(jì)器中的對(duì)象并立即查看對(duì)基礎(chǔ)XAML代碼所做的更改;同樣,對(duì)XAML代碼所做的更改將立即反映在圖形設(shè)計(jì)器中。

⊙ “文檔大綱”窗口允許查看XAML并在其中移動(dòng),而且所做的選擇在設(shè)計(jì)器、文檔大綱、XAML編輯器和“屬性”窗口之間完全同步。

⊙ XAML編輯器中的IntelliSense實(shí)現(xiàn)了快速代碼錄入。IntelliSense現(xiàn)在支持已定義的類型。

⊙ 可以在設(shè)計(jì)器中向網(wǎng)格添加網(wǎng)格線,以便輕松地根據(jù)網(wǎng)格放置控件。

⊙ 通過使用對(duì)齊線,可輕松地將控件與文本對(duì)齊。

⊙ 設(shè)計(jì)器支持加載已定義的類型,包括自定義控件和用戶控件。

⊙ 可以取消加載大型XAML文件。

⊙ 設(shè)計(jì)器擴(kuò)展性支持設(shè)計(jì)模式和屬性編輯器。

(8)語言集成查詢(LINQ)

語言集成查詢(LINQ)是Visual Studio 2008中的一組新功能,可以將強(qiáng)大的查詢功能擴(kuò)展到C#和Visual Basic的語法中。LINQ引入了標(biāo)準(zhǔn)的、易于學(xué)習(xí)的查詢和轉(zhuǎn)換數(shù)據(jù)模式,并且可以進(jìn)行擴(kuò)展,以便潛在支持任何類型的數(shù)據(jù)源。Visual Studio 2008包括LINQ提供程序的程序集,借助這些程序集,可以啟用.NET Framework集合(LINQ to Objects)、SQL數(shù)據(jù)庫(LINQ to SQL)、ADO.NET數(shù)據(jù)集(LINQ to ADO.NET)和XML文檔(LINQ to XML)的語言集成查詢。

(9)新報(bào)表項(xiàng)目

Visual Studio 2008包括用于創(chuàng)建報(bào)表應(yīng)用程序的兩個(gè)新項(xiàng)目模板。在“新建項(xiàng)目”對(duì)話框中有“報(bào)表應(yīng)用程序”模板,在“新建網(wǎng)站”對(duì)話框中有“ASP.NET報(bào)表網(wǎng)站”模板。當(dāng)創(chuàng)建新的“報(bào)表應(yīng)用程序”項(xiàng)目時(shí),Visual Studio將提供一個(gè)報(bào)表(.rdlc)和一個(gè)窗體(.vb/.cs),并將ReportViewer控件綁定到報(bào)表上。對(duì)于ASP.NET報(bào)表網(wǎng)站項(xiàng)目,Visual Studio將創(chuàng)建一個(gè)網(wǎng)站,該網(wǎng)站包含一個(gè)報(bào)表(.rdlc)、默認(rèn)的ASP.NET頁(.aspx)(ReportViewer控件已綁定到報(bào)表)以及Web配置文件(.config)。

創(chuàng)建報(bào)表項(xiàng)目時(shí),將啟動(dòng)新報(bào)表向?qū)?。然后,可以使用該向?qū)蓤?bào)表,或者可以關(guān)閉向?qū)Р⑹謩?dòng)生成報(bào)表。

(10)報(bào)表向?qū)?/p>

Visual Studio 2008引入了一個(gè)報(bào)表向?qū)?,該向?qū)⒅笇?dǎo)完成創(chuàng)建基本報(bào)表的步驟。用戶可選擇報(bào)表數(shù)據(jù)源、定義數(shù)據(jù)集、選擇報(bào)表類型(表格或矩陣格式)以及報(bào)表應(yīng)用樣式。在完成向?qū)е?,可以使用?bào)表設(shè)計(jì)器來增強(qiáng)報(bào)表。

創(chuàng)建新報(bào)表應(yīng)用程序項(xiàng)目或ASP.NET報(bào)表網(wǎng)站時(shí),將自動(dòng)啟動(dòng)報(bào)表向?qū)А?/p>

1.4 如何學(xué)習(xí)C#語言

C#語言自C/C++演變而來,但是它更具有現(xiàn)代、簡單、完全面向?qū)ο蠛皖愋桶踩忍攸c(diǎn)。它簡化和現(xiàn)代化了C++在類、名字空間、方法重載和異常處理等領(lǐng)域,摒棄了C++的復(fù)雜性,更易用,更少出錯(cuò)。C#語言包括底層的 .NET類庫,還包括封裝在Visual Studio 2008開發(fā)工具中的一些組件,為學(xué)習(xí)者更快地開發(fā)應(yīng)用程序提供了很好的幫助。那么,如何更好地學(xué)習(xí)C#呢?

① 了解C#的相關(guān)概念,如 .NET框架和C#語言的關(guān)系、C#與C++的異同之處。

② 認(rèn)識(shí)C#的開發(fā)環(huán)境。幾乎所有的開發(fā)人員都知道Microsoft的開發(fā)工具Visual Studio系列,如Visual Studio 2008是一套完整的開發(fā)工具集,用于開發(fā)ASP.NET Web應(yīng)用程序、XML Web Services、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。Visual Basic、Visual C++、Visual C#和Visual J#使用相同的集成開發(fā)環(huán)境(Integrated Development Environment,IDE),方便用戶快速、有效地建立應(yīng)用程序。

③ 熟練掌握基礎(chǔ)語法知識(shí),如基本符號(hào)、基本元素、語句和函數(shù)等。

④ 掌握面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,如對(duì)象、類、繼承性、封裝性、多態(tài)性和消息傳遞等。

⑤ 掌握數(shù)據(jù)結(jié)構(gòu)和常用算法,如標(biāo)準(zhǔn)數(shù)據(jù)類型和高級(jí)數(shù)據(jù)類型、遞歸算法、迭代算法、窮舉算法和貪婪算法等。

⑥ 模仿教材實(shí)例,親自動(dòng)手完成各種類型應(yīng)用程序的編寫。上機(jī)實(shí)踐是學(xué)好任何一門編程語言最好的方法。

⑦ 充分利用網(wǎng)絡(luò)資源,開闊視野,擴(kuò)充知識(shí)面,以提高自身的編程效率,達(dá)到熟練運(yùn)用C#語言開發(fā)出高質(zhì)量應(yīng)用程序的目標(biāo)。

1.5 小結(jié)

本章主要介紹了Microsoft .NET平臺(tái)各主要部分的功能、.NET框架的概念和C#語言的主要功能及特點(diǎn),并介紹了最新C#語言版本的功能、Visual Studio 2008的系統(tǒng)需求及安裝過程,還介紹了Visual Studio 2008的新增功能;同時(shí),針對(duì)如何學(xué)習(xí)C#語言,提供了幾點(diǎn)學(xué)習(xí)建議。通過本章的學(xué)習(xí),讀者可了解什么是.NET框架,什么是C#語言以及Visual Studio 2008的主要功能,為學(xué)習(xí)C#語言打下基礎(chǔ)。

延伸學(xué)習(xí)──.NET Framework類庫

.NET Framework類庫是一個(gè)與公共語言運(yùn)行庫緊密集成的可重用的類型集合。該類庫是面向?qū)ο蟮模⑻峁┩泄艽a可從中導(dǎo)出功能的類型。這不但使 .NET Framework類型易于使用,而且減少了學(xué)習(xí) .NET Framework新功能所需要的時(shí)間。此外,第三方組件可與 .NET Framework中的類無縫集成。例如,.NET Framework集合類實(shí)現(xiàn)一組可用于開發(fā)集合類的接口。用戶自定義集合類將與 .NET Framework中的類無縫地混合。

.NET Framework類型能夠完成一系列常見編程任務(wù)(包括字符串管理、數(shù)據(jù)收集、數(shù)據(jù)庫連接以及文件訪問等任務(wù))。除這些常見任務(wù)之外,類庫還包括支持多種專用開發(fā)方案的類型。例如,可使用 .NET Framework開發(fā)下列類型的應(yīng)用程序和服務(wù):

⊙ 控制臺(tái)應(yīng)用程序。

⊙ Windows GUI應(yīng)用程序(Windows窗體)。

⊙ Windows Presentation Foundation(WPF)應(yīng)用程序。

⊙ ASP.NET應(yīng)用程序。

⊙ Web服務(wù)。

⊙ Windows服務(wù)。

⊙ 使用Windows Communication Foundation(WCF)的面向服務(wù)的應(yīng)用程序。

⊙ 使用Windows Workflow Foundation(WWF)的啟用工作流程的應(yīng)用程序。

練習(xí) 1

一、選擇題

1.C#語言主要面向____開發(fā)環(huán)境進(jìn)行編程。

A.DOS

B..NET

C.Windows

2..NET開發(fā)的語言無關(guān)性依賴于其運(yùn)行庫的執(zhí)行環(huán)境,稱為____運(yùn)行庫。

A.CLR

B.JIT

C.COM

D.Linux

D.C#

3.下面關(guān)于C#語言的說法中,不正確的是____。

A.C#語言完全支持面向?qū)ο缶幊?/p>

B.C#從C/C++發(fā)展而來,但更具優(yōu)勢(shì),如開發(fā)Web應(yīng)用程序和NT服務(wù)等

C.C#語法簡單,編程靈活,但功能有限,不適合開發(fā)Windows應(yīng)用程序

D.C#擁有對(duì) .NET基類庫的完全訪問權(quán),并易于訪問Windows API

二、填空題

4..NET Framework的另一個(gè)主要組件是類庫,它是一個(gè)綜合性的面向?qū)ο蟮目芍赜妙愋图?,可以使用它開發(fā)多種應(yīng)用程序,包括傳統(tǒng)的命令行或 【A】 應(yīng)用程序,也包括基于 【B】 所提供的最新創(chuàng)新的應(yīng)用程序(如Web窗體和XML Web Services)。

5.____把Microsoft的所有語言的開發(fā)環(huán)境統(tǒng)一起來,所有語言使用同一套工具,在同一個(gè)集成開發(fā)環(huán)境中進(jìn)行開發(fā),并且改進(jìn)了環(huán)境中所包含的各種工具。

6.C#語言雖然從C/C++語言發(fā)展而來,但是它摒棄了C/C++語言中容易出錯(cuò)的指針、多重繼承等概念,是一種 【A】 、 【B】 的語言。

三、問答題

7.C#語言有何主要特點(diǎn)?

8.C#語言有何主要功能?

9.簡述安裝Visual Studio 2008的系統(tǒng)要求和操作步驟。

主站蜘蛛池模板: 大方县| 清涧县| 绵竹市| 丽江市| 台中县| 图片| 阿拉善右旗| 荣昌县| 漳浦县| 罗山县| 海晏县| 临沧市| 大宁县| 太谷县| 垣曲县| 东至县| 普兰县| 香格里拉县| 南召县| 青冈县| 乌海市| 盈江县| 古蔺县| 泽普县| 柳河县| 云浮市| 郑州市| 平江县| 嵊州市| 无为县| 邢台市| 江城| 武平县| 陆川县| 涡阳县| 舟曲县| 六盘水市| 慈溪市| 田东县| 永德县| 卢龙县|