版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 《C#程序設(shè)計》課程設(shè)計報告</p><p> 題 目: 宿舍信息管理系統(tǒng) </p><p> 設(shè) 計 者: </p><p> 學(xué) 號: </p><p> 專 業(yè):
2、 </p><p> 班 級: </p><p> 指導(dǎo)教師: </p><p> 完成日期: </p><p><b> C#學(xué)習(xí)論文</b></p>
3、;<p> 摘要: 經(jīng)過一個學(xué)期的學(xué)習(xí),對C#有了初步的了解,作為一個計算機(jī)專業(yè)的學(xué)生,接觸的計算機(jī)編程語言相對而言比較多,從匯編到C、C++、JAVA、C#;從面過程到面向?qū)ο?,一種量的變化和質(zhì)的飛躍無疑給編程愛好者一個新的希望和挑戰(zhàn)。對于編程語言的選擇,分幾個層次,要看自己現(xiàn)在所處階段,對某些基礎(chǔ)編程語言的語法及結(jié)構(gòu)的掌握程度。如果只是從表面上看或是對于初學(xué)者來說。C#應(yīng)該是不錯的選擇,它是一種入門相對較快的語言,
4、但如果要深入的學(xué)習(xí)和研究,我認(rèn)為所有的語言都差不多,因為很多細(xì)節(jié)的東西,不是一兩天或是一兩個月就可以解決的問題。當(dāng)然,這得看個人愛好和智商問題。如果一樣?xùn)|西,對其一點愛好談不上,要學(xué)習(xí)好或是用好它,那幾乎不會成為可能,如果只追求容易簡單,那答案是肯定的。還沒有這樣的東西存在,選擇什么樣的語言,只是看自己想從什么地方開始,想從什么地方起步。</p><p> 學(xué)習(xí)C#前必須了解的內(nèi)容:</p>&l
5、t;p> 1、C#與.NET的關(guān)系,C#的結(jié)果和方法論反應(yīng)了.NET基礎(chǔ)方法論,在許多情況下C#的特定動能取決于.NET的功能或.NET類C#是一種相當(dāng)新的編程語言,作為為.NET Framework 而專門設(shè)計的語言將與其被一起使用,其強大支持平臺.NET,使其一開始就充滿了活力,讓人們看到其良好發(fā)展前景。C#就其本身而言是一種語言,盡管它是用于生成面向.NET環(huán)境的代碼,但它本身不是.NET的一部分。.NET支持一些特性,C
6、#并不支持。而C#支持的另一些特性,.NET卻不支持(如運算符的重載)。</p><p> 2、公共語言運行庫即CLR或.NET運行庫,選把代碼編譯為中間語言(IL),再通過CLR把IL編譯為平臺專用代碼,這與JAVA字節(jié)代碼有很多相似之處。</p><p><b> 學(xué)習(xí)內(nèi)容:</b></p><p> 分為四個部分,即基礎(chǔ)語言知識、C
7、#Windows應(yīng)用程序。C#Web應(yīng)用程序和ADO.NET數(shù)據(jù)庫操作。</p><p> 1、C#基基礎(chǔ)知識介紹:</p><p> 和其他編程語言一樣擁有其語法規(guī)則。命名空間,數(shù)據(jù)支持,但就其根本而言,與C++等面向?qū)ο笳Z言有其驚人相似之處。</p><p> 常量、變量、變量的類型、類型的轉(zhuǎn)換、表達(dá)式運算符、流程控制、方法和函數(shù)、泛定義和使用一些基數(shù)數(shù)據(jù)
8、方式與C++及其它面向?qū)ο缶幊陶Z言相似。變量的類型包括文類型和其它類型。</p><p> (1)文本類型主要包括char、string。char用來存放單個字符,string用來存放字符串。</p><p> ?。?)數(shù)值類型主要包括整數(shù),浮點數(shù),長整數(shù)等。</p><p> (3)類型轉(zhuǎn)換提供隱式轉(zhuǎn)換和顯示轉(zhuǎn)換的兩種方式。</p><p&
9、gt; ?。?)表達(dá)式,表達(dá)式是符號和運算的組合,簡單的表達(dá)式可以是一個變量,常量,列和標(biāo)量函數(shù),也可以是兩個或兩個以上表達(dá)式連接起來,組合成復(fù)雜的表達(dá)式,如:年int a=1;int b=2; int x=a+b;就是幾個表達(dá)式。</p><p> ?。?)流程控制語句:C#提供5種流程控制語句:if、switch、for、foreach、while.</p><p> ?。?)方法和函
10、數(shù):包括方法和函數(shù)定義。函數(shù)的參數(shù)。函數(shù)的重載。</p><p> ?。?)委托:委托是一種引用方法類型,一旦為委托分配了方法,委托將與該方法與有完全相同行為,委托方法的使用可以像其它方法一樣,具有參數(shù)和返回值。</p><p> ?。?)泛型:這是C#2.0新添加的類型,泛型將類型參數(shù)的概念引入.NET Frameworl其優(yōu)點是類和方法將對類型指定推遲到實例化該類和方法的時候,泛型方法
11、同時具備可重用性,類型安全和效率,這時非泛型和非泛型方法無法具備的泛型通常用在集合和在集合上運行方法中。</p><p> C#中的OOP(面向?qū)ο螅┑母拍?lt;/p><p><b> 構(gòu)造函數(shù)</b></p><p><b> 帶參數(shù)構(gòu)造函數(shù)</b></p><p><b> 析構(gòu)
12、函數(shù)</b></p><p> 垃圾回收器:負(fù)責(zé)釋放內(nèi)存,這是通過銷毀不在引用或不再使用的對象來實現(xiàn)的。工作原理:如果定義析構(gòu)函數(shù)的對象分配了內(nèi)存,運行庫應(yīng)該將對象添加到需要銷毀的對象的列表中,在C#,這叫做析構(gòu)函數(shù)?;厥掌鞫ㄆ跈z查有沒有未被引用的對象。如果找到了其名稱沒有列在銷毀器中的對象,就立刻清楚該對象。對象銷毀過程中就將該對象從列表中刪除。</p><p> C#中
13、方法重載,分為不同參數(shù)個數(shù)的方法重載和不同參數(shù)類型的方法重載,重載也是對象的三要素之一。</p><p> ?。?) 操作符重載</p><p> a、 重載操作符一定是public和Static的。</p><p> b、 在重載比較運算符時要成對重載,在重載”==”時一定要!=:public static bool operator==(p
14、rople p1.people p2);參數(shù)列表必須是對象類型?。?!</p><p> ?。?) C#中繼承面向?qū)ο笕刂?,繼承就是完全復(fù)制,必須是單繼承,子類必須要大于父類。</p><p> (8) C#中的方法重寫要重寫基類現(xiàn)有方法,需要在繼承類中聲明一個同名方法,并在方法名稱前附加new關(guān)鍵詞。</p><p><b> 高級C
15、#概念</b></p><p> C#Windows應(yīng)用程序設(shè)計:</p><p> VS2005為應(yīng)用程序的開發(fā)提供了大量的模板以簡化自動開發(fā)的操作,其中包括:</p><p> Windows應(yīng)用程序:普通的C/S窗體應(yīng)用;</p><p> 類庫:創(chuàng)建一個具備單獨命名空間類庫;</p><p>
16、; Windows控件庫:提供自定義</p><p><b> 工作界面:</b></p><p> 工作界面和Windows應(yīng)用程序的幾乎一樣。</p><p> 控件:包括數(shù)據(jù),驗證,導(dǎo)航,Webparts等</p><p> 和C#Windows應(yīng)用程序一樣,只需要拖拉一些基本的控件和設(shè)置相應(yīng)的屬性,再將
17、其與XML結(jié)合起來,就可以作出比較滿意的網(wǎng)站項目,要強調(diào)的一點就是在設(shè)計的過程中,其中的Web.config需要出不運行過后系統(tǒng)會自動生成,在里面可以添加相應(yīng)的代碼。但如果想要做一個自己或是用戶都相當(dāng)滿意的項目,必須通過代碼來實現(xiàn)相應(yīng)的功能,其中還牽扯到許多關(guān)于ASP.NET及XML的知識,需要相關(guān)的手冊才能更好更高效的解決相應(yīng)的問題。</p><p> 4、ADO.NET數(shù)據(jù)庫訪問:</p>&
18、lt;p> ADO.NET對 Miscrosoft SQL Server和 XML等數(shù)據(jù)源以及通過OLE DB 和XML公開的數(shù)據(jù)員提供一致的訪問,可以使用ADO.NET來連接到這些數(shù)據(jù)源,并檢索,處理和更新所包含的數(shù)據(jù),ADO.NET 包含用于連接到數(shù)據(jù)庫,執(zhí)行命令和檢索結(jié)果的.NET Framework數(shù)據(jù)提供程序,可以直接處理檢索到的結(jié)果,或?qū)⑵浞湃階DO.NET DataSet 數(shù)據(jù)集對象,一邊與來自多個元的數(shù)據(jù)或在層之
19、間進(jìn)行遠(yuǎn)程處理的數(shù)據(jù)組合在一起,以特殊的方式向用戶公開,ADO.NET Dataset對象也可以獨立于.NET Framework 數(shù)據(jù)提供的程序使用,以管理應(yīng)用程序本地的數(shù)據(jù)源和源自XML的數(shù)據(jù)。</p><p> 具體數(shù)據(jù)庫操作(SQL Server):</p><p> 數(shù)據(jù)庫連接:數(shù)據(jù)庫連接對象SqlConnection</p><p> 數(shù)據(jù)庫連接對
20、象成員:</p><p> ConnectionString :是SqlConnection 對象的基本屬性,獲取或設(shè)置用于打開SQL Server 數(shù)據(jù)庫的字符串;</p><p> Sate:SqlConnection對象的狀態(tài);</p><p> CreateCommand:用來創(chuàng)建一個與SqlConnection關(guān)聯(lián)的SqlCommand命令對象;&l
21、t;/p><p> Close:關(guān)閉當(dāng)前連接;</p><p> Open:打開當(dāng)前的連接;</p><p> ?。?)數(shù)據(jù)庫命令執(zhí)行對象SqlCommand</p><p> 數(shù)據(jù)庫命令執(zhí)行對象成員:</p><p> CommandText:數(shù)據(jù)庫的執(zhí)行命令語句:</p><p>
22、CommandType:命令語句的類型,包括三種類型:語句,存儲過程和表;</p><p> Connection:與SqlCommand對象相關(guān)聯(lián)的數(shù)據(jù)庫連接對象;</p><p> ExecuteNonQuery:數(shù)據(jù)庫命令執(zhí)行的方法,表示從數(shù)據(jù)庫中返回值;</p><p> ExecuteReader:數(shù)據(jù)庫命令執(zhí)行的方法,表示從數(shù)據(jù)庫中返回的只是數(shù)據(jù)集
23、;</p><p> ExecuteScalar:數(shù)據(jù)庫命令執(zhí)行的方法,表示只從數(shù)據(jù)庫中返回一個字段,其中ExecuteNonQucry是常用方法,用來執(zhí)行增加、刪除、修改等數(shù)據(jù)庫命令。</p><p> ?。?)只進(jìn)數(shù)據(jù)集對象SqlDataReader:此對象沒有構(gòu)造函數(shù),不能使用new關(guān)鍵字創(chuàng)建,必須使用SqlCommand的ExecuteReader方法生成在使用SqlDataRe
24、ader時,關(guān)聯(lián)的 SqlConnection正忙于為SqlDataReader服務(wù),對SqlConnection無法執(zhí)行任何其他操作,只能將其關(guān)閉。</p><p> 根據(jù)類型獲取字段的方法,為了程序的需要,很多時候需要對獲取的數(shù)據(jù)進(jìn)行類型轉(zhuǎn)換,SqlDataReader對象提供了很多專門轉(zhuǎn)換類型的方法。</p><p> (4)緩存數(shù)據(jù)集DataSet</p><
25、;p> DataSet結(jié)構(gòu)中的主要成員:</p><p> Data Table 對象:Data Table對象不是DataSet對象中的成員,而是DataSet組織結(jié)構(gòu)的一部分,Data Table 也是ADO.NET中的核心對象。</p><p> 其中經(jīng)常使用到成員有:</p><p> Columns:獲取當(dāng)前Data Table內(nèi)的所有列;&
26、lt;/p><p> Rows:獲取當(dāng)前Data Table的所有行;</p><p> AcceptChanges:提交自上次調(diào)用AcceptChanges以來對該表進(jìn)行的所有更改;</p><p> NewRow:根據(jù)表的結(jié)構(gòu),創(chuàng)建一個新行;</p><p> ReadXml:將XML架構(gòu)和數(shù)據(jù)讀入Data Table;</p&
27、gt;<p> WriteXml:將Data Table的當(dāng)前內(nèi)容以XML格式寫入;</p><p> 創(chuàng)建數(shù)據(jù)機(jī)可以以編程方式實現(xiàn)也可以使用可視向?qū)?chuàng)建。</p><p><b> 總結(jié):</b></p><p> 通過近段時間的學(xué)習(xí),對C#以及.NET平臺有了初步的了解,在看書和實踐操作的過程中總結(jié)了一些經(jīng)驗。<
28、/p><p> 在VS2005用C#中編寫各種Windows應(yīng)用程序,創(chuàng)建ASP.NET網(wǎng)站,以及通過Windows應(yīng)用程序和ASP.NET網(wǎng)站連接數(shù)據(jù)庫,其中遇到問題,如果直接連接,運行程序時就會拋出異常,因為在默認(rèn)情況下,Sql server2000不能與應(yīng)用程序或網(wǎng)站建立連接,必須更改前者的權(quán)限及登錄設(shè)置才可以進(jìn)行正常連接。</p><p> 異常處理機(jī)制,這在其他語言中也有(C語言
29、還沒有),有利于順利的變異和執(zhí)行程序。</p><p> .NET的安全性:代碼訪問安全,這是.NET的一個特性,他根據(jù)代碼的信任級別來管理代碼,如果CLR非常信任代碼,允許他們運行,就就會開始執(zhí)行代碼.</p><p> 總之,在學(xué)習(xí)C#的過程中,通過MSDN可以處理絕大部分問題 ,其內(nèi)容的豐富極其詳細(xì)的介紹,可以說是一個不錯的工具。很多函數(shù)、類和異常處理都可以在里面得到相應(yīng)的結(jié)合四
30、和解決辦法。不僅初學(xué)者有用,對于一些比較熟練的編程愛好者也有很大幫助。</p><p> C#退出后,議論紛紛,又說,C#要取代Java,這種說法為時尚早,需要看C#的發(fā)展前景。不過,C#震得是一種非常強大的快速開發(fā)語言。</p><p> 果不包括指針部分的話,可以說,C#的面向?qū)ο蟮某潭纫菾ava還要高!C#中的基本類型都是基于對象的,例如:int,當(dāng)你定義一個int型變量以后,
31、你就可以通過這個變量來訪問int類型的成員。實際上,C#為每一個基本類型都內(nèi)建了一個相應(yīng)的類,而Java中你找不到這樣的內(nèi)建關(guān)系的??梢哉f ,C#大大提高了面向?qū)ο笳Z言的技術(shù)和實用性。</p><p> C#強大的功能是Java無法比擬的,它擁有VB開發(fā)的快捷和C#的強大!任何VB和C/C所能做到的,你都可以用C#簡單的做到!也就是在windows平臺下,C#足以取代VB和C/C,而且C#較JAVA在面向?qū)ο蟮?/p>
32、開發(fā)上還簡單!C#提高了語言面向?qū)ο蟮募夹g(shù)和思想。結(jié)合了面向模塊和面向?qū)ο蟮募夹g(shù),使用戶使用起來更方便,更快捷!而且提供了非常強大的兼容性,你可以用C#調(diào)用已用的VB,C/C程序,COM.VBX…幾乎是所有微軟產(chǎn)品的總接口。</p><p> C#的速度是JAVA可望而不可及的!C#為了跨平臺也采用了JIT,但是不是簡單的移植和套用原有的JIT技術(shù),而是JIT的發(fā)展與提升!自從接觸C#后,JAVA已對我沒有任何
33、吸引力,幾乎不用了。但是,令人擔(dān)心的是,C#并沒有公開語言的細(xì)節(jié)。你不知道C#在windows平臺上的編譯格式,也不知道C#JIT的規(guī)格。因此你很難開發(fā)出自己的跨平臺的C#編譯器。這樣一來,C#就牢牢地掌握了微軟的手里。C#的更新提高,你只能聽命于微軟。誰制定的標(biāo)準(zhǔn)不可怕,可怕的是標(biāo)準(zhǔn)掌握在誰的手里!C#固然可怕,但是更可怕的是C#背后的平臺.NET,C#只是.NET的一把為其添土,固堤的鐵鍬而已。當(dāng).NET大行其道的時候,才是最可怕的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計報告(宿舍管理系統(tǒng))
- c語言課程設(shè)計報告(宿舍管理系統(tǒng))
- c#圖書管理系統(tǒng)課程設(shè)計報告
- c#學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- c語言課程設(shè)計--宿舍管理系統(tǒng)
- c#課程設(shè)計--公司抽獎管理系統(tǒng)設(shè)計
- 宿舍管理系統(tǒng)課程設(shè)計報告
- c語言程序設(shè)計課程設(shè)計報告—宿舍管理系統(tǒng)
- 課程設(shè)計報告---宿舍管理系統(tǒng)
- 圖書館管理系統(tǒng)課程設(shè)計c#
- c#酒店管理課程設(shè)計
- c#學(xué)生選課系統(tǒng)課程設(shè)計
- c#課程設(shè)計--網(wǎng)上購物系統(tǒng)
- c宿舍管理查詢軟件-課程設(shè)計報告
- 用c#做火車訂票管理系統(tǒng)課程設(shè)計
- c#課程設(shè)計學(xué)生信息管理系統(tǒng) 論文
- c#課程設(shè)計公交卡管理系統(tǒng)論文
- c語言課程設(shè)計——學(xué)生宿舍管理系統(tǒng)
- c#學(xué)生信息管理系統(tǒng)課程設(shè)計(net)
- 賓館管理系統(tǒng)c#數(shù)據(jù)庫課程設(shè)計
評論
0/150
提交評論