C#學習心得體會

以前在學校自己沒好好學習過C#,除了在上機課動手練習,課餘時間都沒有練習過。不知道方法如何寫,不明白類到底是幹什麼用的,不清楚什麼是面向對象。不明白的地方也不問老師,問題越積越多,就以爲自己不適合做編程。

試訓的第一天,我發現老師講的很多知識我都沒有深入瞭解過,就拿Main函數來說,不知道它的返回值有int型,參數可以沒有。老師寫的檢測代碼量的程序很多地方聽不懂,看着別的同學可以很快的跟上老師的思路我,我很着急。當老師讓把剩下的代碼補充完整,我不知道從哪裏入手。我當時在後悔在學校的時候爲什麼不好好學習。第二天學完控制檯,知道Console有很多方法,瞭解了各個方法的作用。還做了一個小程序,當自己把程序做出來時是多麼的激動。以前寫程序是複製別人的,沒獨立完成過。自己終於把值類型和引用類型區分開,值類型表示實際數據存放在線程堆棧中,引用類型指向數據的引用存儲在託管堆中。知道了如何進行類型轉換。

這些進步給了我信心,我每天都做筆記,遇到不明白的就問同學或者問老師,每天都動手做練習。第三天學習語句,以前在學習語句的時候不是特別明白,也沒練習過。下午做了一個銀行系統使用了幾個不同的循環語句明白它們的區別,這個程序需要用到方法而我當時不知道如何用,就問同學看以前的課本,知道自己把方法和構造函數弄混了。隨着學習的深入知道的東西多了,編程序時也有思路了,不像剛開始的時候不知道從什麼地方着手。學習異常處理時知道它的重要性,但是不會用,尤其是自定義異常處理更不知道怎麼寫怎麼用。反覆問了同學四五遍,老師第二天又重複一遍才明白。以前只知道try….catch語句沒用過,現在能用了。

第四天學習結構、枚舉和數組,以前沒用過結構不知道它的作用,後來又學習類把它們比較了一下:1、結構是值類型,類是引用類型2、結構不能從另一個結構或類繼承,也不能作爲一個類得基類,類可以3、結構的構造函數必須帶參數,類可以不帶4、結構的實例化可以不使用new運算符類不可以 5、結構可以賦null值。知道使用枚舉的好處和用法,枚舉中的parse方法可以將一個或多個枚舉常數的名稱或數字值的字符串表示轉換成等效的枚舉對象。

學習集合時,知道如何使用ArrayList,它的優點是:1、支持自動改變大小的功能2、可以靈活插入元素3、可以靈活刪除訪問元素。練習ArrayList的各個方法,知道他們的作用,知道RemoveRemoveAt的區別。

學習完類的時候,我把類總結了一下1訪問修飾符 public :訪問不受限制;protected:訪問僅限於包含類或從包含類派生的類型;Internal:訪問僅限於當前程序集;protected internal:訪問僅限於當前程序集或從包含類派生的類型;private:訪問僅限於包含類型。2 類的分類 靜態類:類可以聲明爲static的,以指示它僅包含靜態成員。不能使用 new 關鍵字創建靜態類的實例。靜態類是密封的,因此不可被繼承。靜態類不能包含構造函數,但仍可聲明靜態構造函數以分配初始值或設置某個靜態狀態。抽象類 :抽象類使用abstract修飾符,對抽象類的使用有以下幾點規定:抽象類只能作爲其它類的基類,它不能直接被實例化,而且對抽象類不能使用new操作符。抽象類如果含有抽象的變量或值,則它們要麼是null類型,要麼包含了對非抽象類的實例的引用。抽象類允許包含抽象成員,雖然這不是必須的。抽象類不能同時又是密封的。如果一個非抽象類從抽象類中派生,則其必須通過重載來實現所有繼承而來的抽象成員。抽象類中的構造函數要有參。密封類: sealed修飾,不能用作基類密封類主要用於防止派生,不能被繼承。密封成員自己是不能被重寫的,sealed修飾符必須與override修飾符結合使用。

普通方法按參數分爲值類型參數方法、引用類型、ref關鍵字、out關鍵字、params。還有分部方法、匿名方法、擴展方法。大概知道什麼是面向對象,對繼承也有一定了解,具體分析項目時不知道該怎麼分析。就拿上機考試系統來說,當時就沒考慮到把選項單獨做一個類,對它進行修改時也方便,在以後的學習中會加強這一塊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章