VS.NET 學習方法論
——我的VS.NET學習之旅
屠恩海(SunHai)
開發工具:Microsoft Visual Studio .NET 2003
操作系統:Windows XP
題記:即使你沒有一點編程經驗,只要你愿意,并理解本文介紹的學習方法,你也可以象作者一樣輕松、愉快地步入程序設計之門。讓我們一起開始激動人心的VS.NET之旅。
在26歲的時候,給自己定下目標,35歲之前必須掌英語和程序設計。至今剛過而立,程序和英語都學得不怎么樣,對學習方法倒是有所體悟,愿與大家分享。
在此先介紹一下我的情況。26歲前主要從事語文教學,對計算機及英語可以說一竅不通。說出來可能讓您笑話:計算機不會上網;英語不認識音標。我這人水平雖然不怎樣,志向卻比天高,下決心改變自己,說干就干,花7000大洋購來電腦,開始自學計算機。26歲,人生翻開新篇章。
首先把自家電腦來個開膛破肚,把硬件拆了裝,裝了拆(可憐我的主板,修了幾次,還是報廢;顯卡由于帶電插拔燒斷了“腳”,還是手機店的朋友幫忙焊接上的)。為了從網上快速查找到需要的教程文章,忍痛每月花100大洋窄帶包月,想當時Down個X片足足用了兩天兩夜,結果下集只有聲音沒有圖像,還把他聽完,嗚乎!
我一向提倡在工作中學習,學的東西要和工作相關,工作和學習互相促進。做語文教師雖也可以自學計算機,但我覺得進程太慢了(那時我所在學校還未設計算機課程)。于是,剛學計算機不到半年的人“一不小心”就成了電腦教師。還好基本是入門級培訓,不過也逼著我學得更快。本來我是用拼音加加輸入法的,因為工作關系,只好改用五筆。全國計算機等級考試要考DOS,于是又學了DOS。本來用FrontPage做網頁,現在改用Dreamweaver MX,還有FireWorks MX,Flash MX也懂一點。對著主板隨機手冊和英文詞典嘗試幾次,開機CMOS也可以進出自如。什么系統優化,GHOST系統備份都不在話下。做的網頁雖然界面不怎么樣,IP日訪問量卻是每天300以上。直到29歲,對Windows應用編程卻還是一點不懂,VB6刪了裝,裝了刪,反復幾次,覺得很難,始終未跨過編程第一道門檻。
前日跟在嵊州信息港工作的MM交流,言及在自學Visual Studio .NET編程,MM問:你在閉關學習嗎?我回答:你“贊助”學費的話我也許會考慮考慮。是的,網絡是所大學,最大的大學,網絡可以改變世界,終將改變世界。網絡更可以改變人生,可以讓我們的學習生活無比精采,只要你懂得利用,善于利用?,F在已是網絡時代,網絡交流基本彌補了自學的不足,網絡交流更有學校教育無可替代的優點。
你看到這里,如果你沒有接觸過程序語言,想了解一下Visual Studio .NET是個什么“東東”,你會如何做?
第一,查手頭書籍,個人開個計算機圖書館是不現實的,要查找的知識往往在手頭書籍中找不到;
第二,打電話問朋友,朋友懂不懂是個問題,即使懂,他有沒有空?他有空,他不清楚你這邊的實際情況,他說的并不一定是你想要的,或者你不一定聽得懂;
第三,上圖書館查資料;
第四,上書店;
第五,跑去問老師;
第六,……
是的,傳統是這么做的。但現在是網絡時代了。你完全可能在不到一分鐘之內找到你想要的答案?,F在開啟你的電腦(前提是你不認為購買電腦是極大的浪費),撥號上網(前提是你認為有必要給電腦配置Modem并接入網絡),打開Internet Explorer,在地址欄輸入http://www.google.com,然后回車,在打開的頁面中間輸入框中敲入Visual Studio .NET 編程,注意中、英文中間有個空格。然后再回車,頁面顯示:共有 12,800 項查詢結果,這是第 1 - 10 項。 搜索用時 0.28 秒,怎么樣,還用我給你介紹Visual Studio .NET是什么東東嗎。你就盡情地點擊標題,查看您需要的知識吧。
“軟件是一個過去的時代,Web Service將要來臨。”微軟高級副總裁李開復說,“Web Service本身可以說是一個賭博,一個風險;因為你可以相信,也可以不相信這件事情的發生。我只能說微軟把整個公司都賭下去了,我們賭的未來就是Web Service?!?你可不要告訴我你比蓋茨厲害多了。我們追求超越蓋茨不一定現實,但我們可以早一步接觸網絡,利用網絡。
第一點體會:掌握計算機的基礎知識,學會利用網絡來進行學習,特別是利用搜索引擎(如http://www.google.com)來查找你所需要的答案。
29歲,開始從事企業管理工作。由于工作的關系,要用到MicroSoft Office辦公軟件,Office辦公軟件中有個 Visual Basic For Application (VBA)語言,是VB的一個子集,具備VB的所有優點,內置于Office中,只能在Office中創建、編程和運行,可以錄制宏并自動轉換為代碼。由于初次接觸編程語言,感到自學VBA有難度。每逢在學習中遇到難題、困惑的時候,我就到會到網上尋找學習資源,尋找答案。很快就找到關于MicroSoft Office的極好社區,如OfficeFans(http://www.officefans.net) , ExcelHome(http://club.excelhome.net/) ,于是立即在社區注冊名字,學習VBA時中碰到疑問就到社區去問,每次都有網友熱心解答。
比如我的工作需要經常在Excel工作表第十行前插入空白行,要先選取工作表,鼠標指針定位到指定行,然后單擊右鍵,選“插入”。重復操作,不勝其煩。于是在OfficeFans提問,經版主kengzeng指點,得到如下VBA代碼:
Sub insert() Sheets("sheet2").Rows("10:10").Insert End Sub |
原來要四步操作,現在一按快捷鍵就完成了。我原來并不懂VBA,對“集合”、“對象”、“方法”、“屬性”、“事件”、“枚舉”等編程概念也不甚了了,但由于有網上高手的指點、幫助,我仍舊可以在工作中應用VBA,多次應用下來,用到的一些VBA代碼不去死記也差不多會背了,對VBA的一些概念、理論開始有所了解。
萬事開頭難。學習一開始碰到難題,如果解決不掉,就可能從此放棄學習了,如果這時有熱心人解答他的疑問,然后在實際中立即可以應用新知識,新知識得到了即時鞏固,學習的興趣得到激發和增強,學習就得以繼續和深化。當然,對于有“懸梁刺股”精神的朋友,自己看書刻苦鉆研也可能會解決所有疑難問題,但那畢竟是極少數,我想多數人是象我這樣的普通人。
來而不往非禮也。在網上得到諸多大俠的指點,總感到好像欠了誰什么似的,就想到編一本電子書,把常見的Excel VBA學習教程集中到一起,可以幫助初學者快速入門。 2003年6月較空閑,剛好自己對Html語法也懂一點,就花了二周的時間,搜集整理了一本電子書,叫《Excel 應用寶典》,其中重點內容是Excel VBA。把電子書放到OfficeFans上供網友下載,極受歡迎。我為什么編這本電子書呢?真的是比較空閑的緣故?有空去泡MM不是很好,何必去做枯燥的文字整理工作,其實我是存有“私心”的?
什么“私心”?這叫幫人即幫己,助人即助己。“佛”渡人其實也是為了渡己啊。我為了領悟這個道理,諸子百家,佛道儒易醫,無所不涉,并在生活中曲折浮沉,這樣還是用了“30年”時間(太夸張了,一出生就……?呵呵),各位比我聰明,應該早就明白此理。
為什么助人即助己?
在學術上幫助別人,指點別人,就要站在別人的角度考慮,思考別人的思考,打破了小我的思維局限。
從信息角度講,個人自修,知識的附加信息量較小,而在幫助別人過程中,存在人與人的信息交流,在信息交流中,知識信息得到強化。
舉一個例子,小孩子生活在英語環境中,3歲即口語流利,而我們的學校教育,大學畢業,英語學了十多年,還是啞巴英語的大有人在,為什么?
小孩子記一個單詞或句子,是在和外界信息交流中記憶的,確切地說,小孩子記住了當時信息交流的情境,通過情境的自然記憶實現單詞或句子的自然記憶。學習口語如此,學習編程何嘗不如此呢?你在某個問題上指點過別人,你的記憶印象可能就特別深,如果是個人看書自學,對于某個問題當時雖然理解,但附助記憶的情境信息量很小,時間長了就容易遺忘。
所以,在學習編程的過程中,多和別人交流,多向高手虛心求教,多指點初學者,是在人為創造學習情境,在情境中強化記憶,強化理解。
李陽提倡“瘋狂英語”學習法,我則提倡“瘋狂編程”學習法,也就是創造一切機會和別人交流編程經驗,從交流中進行強化訓練和學習。也要注意,交流是手段不是目的。
交流編程經驗的途徑有很多:如論壇交流,媒體投稿,QQ、icq等通訊軟件交流。個人覺得CSDN為我們提供的“個人專欄”非常好,您可以一邊學習編程,一邊記下心得,通過個人專欄和大家交流。
VBA是VB的應用分支,我在工作中應用VBA,并自然地對VBA的概念、理論有了初步了解,這時再去看VB的教程,就感到分外親切。因為VBA和VB在本質上是沒有區別的。我終于可以跨入VB編程之門了。
第二點體會:學習編程的過程中,既要善于向高手尋求幫助,更要樂于指導初學者。在交流中學習編程,這決不是宗教式道德說教,而是極其重要的學習方法和學習手段。
程序語言種類很多,Pconline的工具平臺就列有VB/VB.NET、VC/C#、Delphi、Java、C++Builder等。到底學什么語言好呢?在Google輸入語言 比較,查到一篇文章《編程語言的宗教狂熱和十字軍東征》,第一段就是:
業余程序員最喜歡做的一件事就是對不同的語言進行比較。Java是否比C++好?C#是否會成為終極語言?凡此種種。從專業程序員的角度看來,這是最低級無趣的游戲。其一,在項目諸元確定之后,通常并沒有選擇語言的余地;其二,語言的生存本身就是一個達爾文主義的問題:設若兩種語言有明確的可比較性,其中較劣的那一種必定早已被淘汰出局,又何來比較的必要?
我基于兩個原則選擇編程語言:
其一,適用自己的就是最好的。
其二,如果不知道什么適用自己(業余程序員開發軟件基于個人愛好,往往有此困惑),那么優先選擇MicroSoft的開發語言。
我選的是VB(每個人的具體情況不,我的選擇不一定適合你),我目前只考慮開發普通Windows應用軟件,并希望Windows應有軟件的開發和MicroSoft VBA的應用互相促進,說穿了,是精力有限,最好是一種語言,到處應用。
于是在網上Down了N多的電子書,收藏夾里VB網站一大堆。常去的VB網站有1000VB ,AppleVB , cnDevx ,51DoNET等,但我發現,除了CSDN,VB社區論壇的人氣大多不旺。
第一次接觸VB,沒有基礎,業余自學,如何快速掌握VB編程?
如果我有足夠的時間(業余自學,時間顯然不足),有足夠的耐心(恰恰我是耐心不那么足的人),可以按照教程一個一個控件學習、練習,這個過程無疑是有益的,但對我來說顯然是過于枯燥的?;蛟S如此下去,半年以后,我的VB基礎比較好了,但可能不到半年,早就被我放棄。這就要另辟蹊徑。我的設想是,一開始就定下一個軟件項目,帶著目的去學,以一個控件為核心,在完成項目的過程中,逐步掌握VB控件的使用和編程基本理論。項目基本完成的時候,VB編程也就入門了。由于是帶著項目去學,目的明確,學習過程就不會枯燥。如果你做共享軟件,你的項目創意又比較好,你VB編程入之門之日,也許你的軟件也就可以為你帶來Money了,呵呵!
開發一個什么樣的軟件呢? SUN提出了激動人心的口號:“網絡就是計算機”。計算機的應用主要在于網絡,于是定位于開發網絡軟件。我經常到網絡社區論壇交流,注冊時要一項項填寫信息,發言時也要一項項填寫信息,感覺很費時間,打算自己編軟件來實現自動注冊,自動發言。
2003年5月學VBA時想用VBA實現在論壇自動注冊和發言,實現起來有難度,就在網上找替代軟件,找到了“按鍵精靈”(http://www.vrbrothers.com/cn/qmacro),按鍵精靈是一個模擬鼠標鍵盤動作的軟件。通過制作腳本,可以讓按鍵精靈代替您的雙手,自動執行一系列鼠標鍵盤的動作。 覺得很不錯,就編寫了一個腳本,用按鍵精靈自動實現如下功能:打開Internet Explorer,輸入并打開網址,移動鼠標到指定座標,輸入字符,然后按回車完成注冊發言。比起手工輸入,用按鍵精靈省力不少,但是不同網站,輸入框的座標不同,要手動抓取,有沒有更方便的軟件呢?按鍵精靈社區里有人講到EzScript(http://ezscript.seed.cx/)功能更多,試用后發現在WindowsXP里反應不靈敏,再在Google狂搜,找到了比按鍵精靈更好的軟件PCWorker(http://www.pcworker.net) 。PCWorker配合網絡填表軟件FORMGHOST ,再加上MyIE,可實現雙擊注冊或發言,需要的話,還可在標題加上隨機數,而且在PCWorker中代碼的可讀性較強,且作者能及時聽取網友意見對軟件加以改進。
PCWorker雖然好用,但要讀取識別碼圖片上的數字,這是PCWorker類軟件不能勝任的。于是決心用VB6來實現所有自己想要實現的功能。2003年10月開始學習VB6,到11月半,項目基本完成。我是怎么做的呢?
首先瀏覽各VB網站有關文章,發現用WebBrowser控件能實現我所欲求的功能。
其次,大量搜集WebBrowser控件相關文章和代碼。
用Google搜尋。如用“WebBrowser”為關鍵詞搜索,共有 216,000 項查詢結果 。
CSDN論壇搜索。導航到http://expert.csdn.net/Expert/Forum.asp,登陸論壇,點擊“搜索”,選“全部論壇”,點選“最新數據搜索”,用“WebBrowser”為關鍵詞,然后點擊“對選擇的大類進行搜索”,哇,有好幾百篇有關“WebBrowser”的問答。
在CSDN論壇 作全文檢索,尋找更多有檢值的內容。
CSDN文檔搜索,導航到http://www.csdn.net/develop,在右上角搜索輸入框輸入"WebBrowser",選擇“文檔標題”,再單擊“搜索”,我得到30篇有關“WebBrowser"相關文檔。
在實際編程中遇到困難,還可以到CSDN論壇提問,尋求幫助。我就曾在CSDN論壇問了不下十個有關Webbrowser有關問題,并都得到了解答。
由于善于運用以上三步,1個半月時間,我的軟件基本出爐,VB編程也已基本入門。軟件實現原理是,用WebBrowser控件,先Navigate到指定網址,然后填寫表單。主要代碼如下:
Private Sub cmdfill_click() '點擊按鈕開始發言 On Error Resume Next Dim vdoc As IHTMLDocument2 Dim vTag
Dim i As Integer If Not brow.Busy Then '如果下載完成,就執行下面程序 Set vdoc = brow.Document For i = 0 To vdoc.All.Length - 1 '檢測所有標簽 If UCase(vdoc.All(i).tagName) = "INPUT" Or UCase(vdoc.All(i).tagName) = "TEXTAREA" Then '找到input標簽 Set vTag = vdoc.All(i) If vTag.Type = "text" Or vTag.Type = "password" Then '看看是不是我們需要的 Select Case vTag.Name Case "name" vTag.Value = "sunHai" Case "passwd" vTag.Value = "sunHaiGood" Case "subject" '寫標題,不同的網頁表單,vTage.name的值不同,要查看網頁源碼修改 vTag.Value = "Hello,sunHai!" End Select
'ElseIf vTag.Type = "submit" And vTag.Value = "發表" Then '找到發表按鈕。 ' vTag.Click End If End If Next i
vdoc.Forms(0).submit '也可以用這句來提交表單 End If End Sub
|
第三點體會:從應用入手,從解決實際問題出發,在完成項目的過程中,逐步掌握控件的使用技巧和編程基本理論。
在學習VB6的同時自然接觸到 Microsoft Visual Studio .NET(簡稱VS.NET)。在十年之前,Visual Basic 1.0 成為數以百萬計的開發人員的革命性的應用程序開發語言?,F在,Visual Studio .NET 為未來的十年做好了準備(有點象為MicroSoft打廣告,你說呢),VS.NE是用于創建下一代應用程序的理想而又現實的開發工具,是一個從一開始就是為 XML Web 服務創建的開發環境。通過允許應用程序通過 Internet 溝通和共享數據,XML Web 服務使業務能夠從 Internet 轉換為用于集成和傳送它們的核心商業價值的真正平臺。Visual Studio .NET 和 XML Web 服務提供簡單、靈活、基于標準的模型,允許開發人員從新的和現有的代碼匯編應用程序,而與平臺、編程語言或對象模型無關。
VS.NET 2003中主要有包含以下幾種開發工具:
Visual Basic .NET 2003
Visual C# .NET 2003
Visual C++ .NET 2003
Visual J# .NET 2003
核心是 Visual Basic .NET 2003和Visual C# .NET 2003。我主要用VB.NET。在VS.NET中的不同開發工具的差別主要表現為語法的差異,因此,用VB.NET的人,一般也可以看懂C#.NET的代碼,反之亦然。
有人說,“學習要面向未來”,2003年12月,我的主要開發工具從VB6轉為VB.NET,2004年1月1日,把我新開發的軟件從VB6語言轉寫為VB.NET語言,并正式命名為網絡廣告王(AdKing)。
在轉向VB.NET的時候,我考慮:
第一、VS.NET的本質是什么?
VS.NET是從一開始就是為 XML Web 服務創建的開發環境。通過允許應用程序通過 Internet 溝通和共享數據,XML Web 服務使業務能夠從 Internet 轉換為用于集成和傳送它們的核心商業價值的真正平臺。
學習要面向未來,就要學習最新的技術,現在的學習為將來的應用作鋪墊。我的軟件要突出兩點,一是基于Internet的應用,二是要應用XML技術。這樣,我就可以在應用中盡快掌握新技術,否則,只是為學習而學習,無疑會是比較枯燥,也容易遺忘。
第二、原來用VB6寫的AdKing,主要用到WebBrowser控件,網頁加載速度慢,會下載圖片,Flash等許多不需要的東西,在VS.NET中必須用其他方法實現同樣功能。
在CSDN諸位朋友的幫助下,并參考許多資料,我的AdKing已基本具備.NET特征。
1.應用了XML技術
VB6中,INI文件通常用來保存系統信息、配置信息,讀寫INI文件要用到API函數,使用起來不是很方便。在VS.NET中,已經沒有必要用INI文件來保存和讀取一些信息了,可以改用VS.NET中的讀寫XML文件的類。而且,在VS.NET 2003的后續版本中,處理XML有關功能將得到進一步增強。
讀取XML到DataGrid代碼:
Public MyXMLDataSet As New DataSet("XMLDataSet") ' DataSet 是數據的一種內存駐留表示形式,無論它包含的數據'來自什么數據源,它都會提供一致的關系編程模型。一個 'DataSet 表示整個數據集,其中包含對數據進行包含、排序和約束的'表以及表間的關系。 MyXMLDataSet.ReadXml("regid.xml") '讀入XML文件 form1.DefInstance.DataGrid1.DataSource = MyXMLDataSet 'DefInstance是form1的共享屬性, 我們不用創建實'例就可以直接用‘類名 .共享成員'的方法進行調用 , 《Henry 的 VB.NET 之旅 ( 三 )— 共享成員》中有論述。 strName = MyXMLDataSet.Tables(0).Rows(0).Item("name").ToString ' 從DataGrid中讀取用戶名信息。 |
從DataGrid1更新信息到XML文件代碼:
Dim MyXmlDataSet As DataSet MyXmlDataSet = CType(DataGrid1.DataSource, DataSet) '類型轉換 MyXmlDataSet.WriteXml("regid.xml") '把信息寫入XML文件 |
如果不用DataGrid控件,讀寫XML文件中特定信息可以更簡單:
Dim xmlInfo As New XmlDocument xmlInfo.Load("info.xml") '載入XML文件 Dim str As string=xmlInfo.Item("RegInfo").Item("name").InnerText '用“Item”可以逐級往下讀數據 xmlInfo.Item("RegInfo").Item("pass").InnerText="MyPass" xmlInfo.Save("info.xml") '保存信息到xml文件 |
我原來打算用INI格式來保存AdKing的注冊信息和發言信息,但是,一則讀寫INI不是很方便,二則XML在軟件開發中越趨重要,于是一開始就用XML文件來保存有關信息。在剛接觸VS.NET時本不知XML為何物,現在可自如讀寫XML,是否有點“高手”的感覺呢?(自我陶醉一下先)
2.用HttpWebResponse相關類GET和POST信息
用GET方式讀取網頁源代碼:
Dim httpReq As System.Net.HttpWebRequest 'HttpWebRequest 類對 WebRequest 中定義的屬性和方法提供支持',也對使用戶能夠直接與使用 HTTP 的服務器交互的附加屬性和方法提供支持。 Dim httpResp As System.Net.HttpWebResponse ' HttpWebResponse 類用于生成發送 HTTP 請求和接收 HTTP 響'應的 HTTP 獨立客戶端應用程序。 Dim url as String="http://sunhai.tianyablog.com" '這是我的小站,有空來坐坐 Dim httpURL As New System.Uri(url) httpReq = CType(WebRequest.Create(httpURL), HttpWebRequest) httpReq.Method = "GET" httpResp = CType(httpReq.GetResponse(), HttpWebResponse) Dim reader As StreamReader = _ New StreamReader(httpResp.GetResponseStream, System.Text.Encoding.GetEncoding("GB2312")) '如是中文,要設置編碼格式為“GB2312”。 Dim respHTML As String = reader.ReadToEnd() 'respHTML就是網頁源代碼 httpResp.Close()
|
向服務器POST信息:
Dim httpUrl2 As New System.Uri("http://sunhai.tianyablog.com?" & "name=1&pass=6") ' “&”號后面是'注冊信息,改成你自己的 Dim req As HttpWebRequest req = CType(WebRequest.Create(httpUrl2), HttpWebRequest) req.Method = "POST" req.ContentType = "application/x-www-form-urlencoded" Dim bytesData() As Byte = System.Text.Encoding.ASCII.GetBytes("name=1&pass=6") req.ContentLength = bytesData.Length Dim postStream As Stream = req.GetRequestStream() postStream.Write(bytesData, 0, bytesData.Length) '以上為向網絡服務器POST信息
Dim res As HttpWebResponse = CType(req.GetResponse(), HttpWebResponse) Dim reader As StreamReader = _ New StreamReader(res.GetResponseStream, System.Text.Encoding.GetEncoding("GB2312")) Dim respHTML As String = reader.ReadToEnd() 'respHTML為POST后網絡服務器返回的信息 MsgBox(respHTML) '可用MsgBox查看返回的信息 res.Close()
|
3.用正則表達式從網頁源代碼中提取網址
得到網頁源代后,我們可以對源代碼進行處理,比如提取其中的鏈接,Email地址,圖片地址,Flash等等。
Dim r As System.Text.RegularExpressions.Regex Dim m As System.Text.RegularExpressions.MatchCollection Dim respHtml As String = "http://www.NETsh.Net/subdomains/f_s_o.php?leibie=shangmao" '以這個地址舉例 strRegex = "http://([\w]+\.)+[\w]+(/[\w.?]+)+leibie[=]{1}[\w]+" '用這個正則表達式可以提取上面地址。通用'的提取鏈接正則表達式為“http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?”?! ?BR> r = New System.Text.RegularExpressions.Regex(strRegex, System.Text.RegularExpressions.RegexOptions.IgnoreCase) m = r.Matches(respHTML) Dim i As Integer For i = 0 To m.Count - 1 MsgBox(m(i).Value) Next i
|
第四點體會:要學習新技術,盡量在你的項目中應用新技術,在應用中學習,進步最快。
現在我的AdKing已經用.NET全面改寫,并用上繼承,重載,多線程等,所有這些在VB6中能否實現,從VB6轉到.NET是否明智?
從2003年10月開始學習VB6編程,11月半用VB6完成第1個軟件——AdKing,到現在(20040117)用VB.NET技術改寫AdKing。可算基本入門。全部用的業余時間,沒有當面請教一個老師。原來沒有一點編程基礎。如果學得還算順利的話,很大部分要歸功于掌握并利用大量網絡資源。下面列出我所掌握的VS.NET網絡學習資源,有什么遺漏希望大家能指出。
1.微軟支持
在你學習VS.NET的過程中,有疑問首先要向MicroSoft求助。如果你不懂得利用MicroSoft提供的龐大的學習資源,我要告訴你,你很不幸,你舍近求遠了。
?。?)首先,你要安裝MSDN,他比所有VS.NET書籍詳細。我為了裝MSDN,可是犧犧了我的98和XP雙啟動,改成WindowsXP單系統。裝了MSDN后,你要學習正則表達式,VS.NET 2003中點擊“幫助”,再點擊“搜索”,然后輸入“正則”,一回車,哇,找到470個主題,這下你慢慢研究吧。實在研究不透,也不用急,還有Google和CSDN呢。
(2)在線Microsoft .NET 框架 SDK 快速入門教程(http://chs.gotdotnet.com/QuickStart),可配合MSDN使用。分三塊內容, ASP.NET | Windows 窗體 | 如何...?常見任務 。 “常見任務快速入門”旨在幫助您快速找到常見編程問題的答案。
?。?)微軟中國社區(http://www.mscommunity.com/Profile/)。在社區注冊,有問題就到社區去提問吧。
(4)在線中文MSDN(http://www.microsoft.com/china/MSDN/default.asp);在線英文MSDN(http://msdn.microsoft.com/),考考你的E文,不過有金山詞霸在,我都不怕,你還用怕什么呢!
(5).NET主頁(http://www.microsoft.com/china/net)
(6)Visual Studio .NET主頁(http://www.microsoft.com/china/msdn/vstudio/prodinfo/overview.asp)。
為什么選擇VS.NET,為什么看好VS.NET,看看MicroSoft的Help文檔有多詳盡就知道了。如果你不去利用MicroSoft提供的龐大的Help資源,是不是有點對不起蓋茨呢!
2.CSDN http://www.csdn.net/
CSDN號稱中國最大的開發者網絡,確實不假。我最常去的是CSDN的
文檔(http://www.csdn.net/develop/)
論壇(http://expert.csdn.net/expert/forum.asp)
只要你善于利用搜索功能,你在開發中遇到的多數問題可在文檔和論壇中找到答案。如果你在開發過程中遇到疑難,而你又認為 BillGates幫不上你的忙,那么,你就上CSDN吧,一定會讓你滿意的。
教你兩個絕招,第一招,是“搜索大法”。遇到問題,首先是在CSDN的文檔和論壇進行搜索,看有無類似答案。如不行,再下一招。
第二招,“提問大法”,只要有禮貌有誠意地在論壇提問,一定有許多人樂于回答你的問題。
3.其他相關網站
有不少網站開辟VS.NET專欄,常去看看,必有收獲。
pconline跟我學NET專欄(http://www.pconline.com.cn/pcedu/empolder/net/)
yesky的Visual Studio.NET專欄(http://www.yesky.com/SoftChannel/72342380467978240/index.shtml)
ccidnet的NET專區(http://tech.ccidnet.com/pub/column/c340.html)
4.資料下載
如果不是包月上網,那么下載大量資源,再斷線慢慢研究就很有必要了。
網友提供的大量VS.NET資源下載(ftp://qydn.vicp.net)
北京希望電子出版社圖書素材資料下載(http://www.b-xr.com/bbs.htm)
清華大學出版社VS.NET源碼下載(http://www.wenyuan.com.cn/xiazai.htm)
5.國外資源
如果你的E文不錯,不妨上E文網站去取經?! ?BR>
http://www.startvbdotnet.com
http://www.vbdotnetheaven.com
http://www.vbcity.com/
http://www.vbip.com
http://www.a1vbcode.com/
http://searchvb.techtarget.com/
http://builder.com.com
http://www.codeproject.com
http://www.planet-source-code.com/
http://sourceforge.net/
http://www.syncfusion.com/FAQ/WinForms/
http://www.123aspx.com
http://panopticoncentral.net/
http://www.regexplib.com/
http://www.harding.edu/USER/fmccown/WWW/vbnet_csharp_comparison.html
http://www.only4gurus.com/v2
http://www.gotdotnet.com
http://www.programmersheaven.com/
http://www.aspnetpro.com
http://www.dotnetgenius.com/
http://www.devx.com/dotnet
http://www.devcity.net
http://www.devhood.com
http://www.c-sharpcorner.com/
http://www.csharphelp.com/
http://authors.aspalliance.com/aldotnet/examples/translate.aspx
http://www.dotnet247.com
http://www.datagridgirl.com
http://www.codestudy.com
6.其他特色網站、專欄
CSDN上Latitude的VS.NET專欄(http://www.csdn.net/develop/author/netauthor/Latitude/)
【孟憲會之精彩世界】(http://xml.sz.luohuedu.net/xml/)
DotNet中華網(http://www.aspxcn.com/)
ASP酷(http://www.aspcool.com/)
http://www.chinaaspx.com
http://www.webasp.net/
http://218.56.11.178:8009/ 海波.NET的水晶報表專欄
http://www.aspx8.cn/ asp.net資源吧
http://www.cnblogs.com/ 博客園
http://dotnet.mblogger.cn
http://blog.joycode.com/ 博客堂
當然,還有一個地球人都知道的,全球最大的知識倉庫,我不說,你也早就應該知道的,那不是http://www.google.com又是什么!
第五點體會:掌握并利用大量網絡資源來輔助VS.NET的學習,你將事半功倍。