2013年11月4日 星期一

小山的 C# 教學-教學目錄

       為了讓各位讀者及觀眾能夠掌握課程大致的架構,以及方便以及學習過基礎的人能夠直接從新的部分切入,因此製作這個目錄以供大家參考。

p.s. 看到「(僅有 Youtube 影片)」代表該教學尚未有 blog 文章,以後有空將會補上

以下教學中使用的範例程式碼可以在以下網址找到:
https://github.com/slmt-tutorial-channel/c-sharp-course-sample-code

一、教學簡介 (Tutorial Introduction)

第0課 - 閒聊及影片介紹


二、C# 基礎 (C# Basic)

第1課 - C# 是甚麼?

第2課 - IDE 跟 Hello World

第2.1課 - Visual Studio Community

第3課 - 程式結構與進入點

第4課 - 視窗與按鈕

第5課 - 變數

第6課 - 基本計算

第7課 - 變數宣告意義與型別

第8課 - string 簡介 (僅有 Youtube 影片)

第10課 - if else (僅有 Youtube 影片)

第11課 - for 與 while 迴圈 (僅有 Youtube 影片)

第12課 - 註解與 Debug

第36課 - Constant 常數

第37課 - switch 與 enum

第22課 - Array 陣列

第38課 - Multidimensional Arrarys 多維陣列


三、視窗設計 (Windows Form Design)

第9課 - Label 與 點擊次數記錄程式 (僅有 Youtube 影片)

第13課 - NumericUpDown

第20課 - TextBox 與 借還錢模擬小程式(上)

第21課 - 借還錢模擬小程式(下)

第39課 - PictureBox


四、物件導向 (Object-Oriented)

1. 物件基礎 (The Basic of Object)

第14課 - 物件導向基礎 Class

第15課 - Class 簡介(續)

第16課 - Value 與 Reference Type

第17課 - Constructor 建構子

第18課 - this 變數

第19課 - static 修飾字

第23課 - Garbage Collection 垃圾回收


2. 封裝性 (Encapsulation)

第24課 - 封裝性 Public vs Private

第25課 - Private 的常見用途

第26課 - Get & Set 存取器

第27課 - 所以到底甚麼是封裝性?


3. 繼承性 (Inheritance)

第28課-繼承性

第29課-繼承性(續)

第31課-Override

第32課-Override vs Method Hiding

第33課-Protected

第34課-Base 關鍵字

第35課-Abstract Class & Abstract Method


4. 專案練習 - 五子棋小遊戲

第40課-五子棋小遊戲(一)-棋盤與棋子

第41課-五子棋小遊戲(二)-動態建立棋子

第42課-五子棋小遊戲(三)-用滑鼠建立棋子

第43課-五子棋小遊戲(四)-判斷交差點的位置

第44課-五子棋小遊戲(五)-正確放置棋子

第45課-五子棋小遊戲(六)-重構與最後準備

第46課-五子棋小遊戲(七)-簡單勝利判斷


5. 多形性 (Polymorphism)

第47課-多型性 (Polymorphism)

第48課-介面 (Interface)

第50課 - 泛型 (Generics) 的初步介紹


五、C# 內建函式庫之使用 (C# Built-in Library)

第30課-亂數 Random

第49課 - 串列 (List)


108 則留言:

  1. GOOD 謝謝你的分享,我是一位剛在學習的新手,看了你的影片受益良多

    回覆刪除
  2. 謝謝阿山分享 跪求後面繼續 ^^

    回覆刪除
    回覆
    1. 謝謝支持~ 等我私事告一段落後就會有新影片~

      刪除
  3. 請問後續會有關於LINQ或是ADO的教學嗎?

    回覆刪除
    回覆
    1. LINQ 應該會有,但是 ADO 我沒學過
      暫時可能不會有

      刪除
  4. 小山老師你好,我在看到第十四課物件導向基礎後,想說自己改良一些,讓我們可以自由填寫名字,班級,學號等,可是遇到一些小難題,就是我的textbox無法輸出數字型別,因此無法自己填班級學號,請問要怎麼做才可以呢?

    回覆刪除
    回覆
    1. 你可以利用 Int32.Parse() 這個 method 來把 textbox.Text 從字串轉換成數字

      使用方法可以參考這裡
      http://msdn.microsoft.com/zh-tw/library/b3h1hf19%28v=vs.110%29.aspx

      刪除
    2. 謝謝老師的回復,感恩喔.

      刪除
  5. 小山老師,請問你的教學影像是否可以弄成可以下載的啊,

    回覆刪除
    回覆
    1. 可以使用 Youtube Downloader HD
      http://www.youtubedownloaderhd.com/

      貼上 Youtube 影片網址,畫質選擇 720p
      即可下載囉~

      刪除
  6. 作者已經移除這則留言。

    回覆刪除
  7. 小山老師請問form1完成偵錯輸出後跟設計的不一樣是什麼原因?要如何做才能改變完成新的物件畫面

    回覆刪除
    回覆
    1. 我有點不太懂你的問題耶@@"
      可以描述的詳細一點嗎?
      或是可以把程式碼整個寄給我也行~

      刪除
  8. 試過在別台電腦開啟專案執行偵錯後出來的圖形一樣是舊的,怎麼沒更新???

    回覆刪除
  9. 回覆
    1. MVC 算是在許多程式語言都通用的觀念
      並不僅限於 C#
      所以可能不會再 C# 教學之中教

      刪除
  10. 作者已經移除這則留言。

    回覆刪除
  11. 謝謝小山老師的分享,獲益良多!

    回覆刪除
  12. TKS 期待看到新作品幫助很大

    回覆刪除
  13. 謝謝您的分享真的受益良多

    回覆刪除
  14. 小山先生
    不知道您是否還有其他進階C#的教學可以分享
    如果有的話 那就太感激您囉
    真的是功德無量

    回覆刪除
  15. 小山教學真是好懂,期待續集

    回覆刪除
  16. 非常棒的教學!!
    非常期待往後出更多以及更進階的教學!!

    回覆刪除
  17. 請問有第11課的網址嗎
    我找不到耶

    回覆刪除
    回覆
    1. 抱歉,之前有人反映第十一課影片有問題
      所以我最近重新上傳了
      上面的連結剛剛我更新了哦!

      刪除
    2. 謝謝小山
      回復好快喔><

      刪除
  18. 請問怎麼把專案變成實際檔案?

    回覆刪除
    回覆
    1. 在 debug 資料夾下就可以找到一個跟專案名稱相同的 exe 檔
      我想那就是你要找的東西囉~

      刪除
  19. 小山快上傳新課壓>_< 我好期待優~~~~~~~~~

    回覆刪除
  20. 我想問得太多了,可以私下聊嗎

    回覆刪除
  21. 作者已經移除這則留言。

    回覆刪除
  22. 作者已經移除這則留言。

    回覆刪除
  23. 小山老師第8第10課的影片沒辦法看了

    回覆刪除
    回覆
    1. 感謝回報!Youtube 網址不知道為什麼突然改變了
      現在已經可以看囉~

      刪除
  24. 感謝您的教學XD
    小弟是從C跟C++開始學起
    最近要開始摸unity
    發現他需要用C#下去寫
    現在開始學C#發現他跟我之前學的語法差好多XD
    感覺像是摸新的東西
    雖然觀念方面都是一樣
    語法大不同
    不曉得您有推薦的書籍讓小弟可以看嗎@@?
    P.S請問您有unity的教學嗎XD

    回覆刪除
  25. 可否教一下用window form來寫出sin曲線

    回覆刪除
    回覆
    1. 這可能要配合 2D 繪圖的函式庫才有辦法做到

      刪除
  26. 感謝您的的教學 !! 讓我這個門外漢對C#有了基本的觀念及概念,請問哪裡有可以較好的網站有範例可以讓我由淺入深的練習,感謝您~~

    回覆刪除
    回覆
    1. 個人會建議買適合自己的書來看,畢竟書中的內容比較完整,也有充分的範例可以練習。可以到書店一本本翻翻看,有沒有看順眼的書籍。

      刪除
  27. 感謝小山無私的教學,您的視頻對初學者來說是非常棒的資源,看完30課之後真是獲益良多

    回覆刪除
  28. 小山先生
    謝謝你
    非常棒的教學

    回覆刪除
  29. 本人是機械系畢業,因為工作需要學C#,最近也看了小山老師的教學,本人獲益良多。

    回覆刪除
  30. 謝謝你的教學,方便請教有比較適合初學者課本嗎?

    回覆刪除
    回覆
    1. 你好,我個人覺得《深入淺出 C#》很適合入門
      富含大量的例子與討論
      在網路書店或書局應該都買得到

      刪除
  31. 謝謝你的教學,因為想要繼續學c#,透過別人介紹看了你的影片真的很淺顯易懂,希望以後有疑難雜症可以繼續請教你本人。

    回覆刪除
  32. 我是個C#新手啊啊ˊ ˇ ˋ ~ 看了你影片 感覺講好清楚 獲益良多~ 謝謝啦~~~:D

    回覆刪除
  33. 現在 我從一個檔案讀取內容來建立物件,但是不確定會有檔案內有幾筆資料,要如何處理,
    每比資料的型態都一樣,

    例如 我txt檔案里面有N比學生資料,要如何產生N個Student的物建

    Student1~Studentn

    {

    student ID

    Student name

    }

    回覆刪除
    回覆
    1. 通常處理不確定資料數目的方法有二:

      1. 使用一個很大的陣列
      大部分的情況下可以確定資料會在某個範圍內
      因此可以先開一個超大的陣列
      讀取資料的時候紀錄讀取幾筆
      然後讀取完後再開另一個數量剛好的陣列
      把舊陣列內的資料複製過去新的

      2. 用比較聰明的資料結構
      像是 List 具有自動調整大小的特性
      詳細使用方法可以參考:https://msdn.microsoft.com/zh-tw/library/4kf43ys3(v=vs.110).aspx

      刪除
  34. 感謝您的教學,對新手的我來說受益良多,希望您能繼續撥空製作教學,讓我們可以醍醐灌頂^^"

    回覆刪除
  35. 希望小山老師能繼續更新C#課程,真的讓我學到很多,請加油~~

    回覆刪除
  36. 謝謝 我第一次學習 物件導向的程式語言,因為有您的影片開啟我對C#學習的信心與自信。
    希望能夠繼續看到後續的視訊學習課程

    回覆刪除
  37. 您好
    請問一下您是否有使用過RS232通訊阜功能呢?

    回覆刪除
  38. 希望能更新更多教學!! 謝謝您的教學,讓我聽懂了許多

    回覆刪除
  39. 小山的教學真的很棒,對近期在學用C#的我來說有很大的幫助,
    不知道小山之後會不會連結到DB這一塊呢?

    回覆刪除
    回覆
    1. 雖然我個人是做關於 DB 的研究的
      不過不在教學的範圍內哦

      刪除
  40. 您好,看了您的教學後受益良多,不知是否會教學 Delegate與事件機制這一塊呢?

    回覆刪除
  41. 您好,您的教學幫助我很大,想請問有沒有C#讀取txt或csv檔的教學呢

    回覆刪除
  42. 你真的很會教,我是讀國立科大排名第四資訊系的學校,老師講的都很抽象,你把所有一切程式關念都變得很實際,希望你繼續在這塊領域發揚光大

    回覆刪除
  43. 謝謝你所發佈的一切教學文章
    我是剛要開始加入資策會的程式課程的中年轉業大叔
    在開課前的預習找到你這邊,雖然還沒看完,但看到台灣有人願意做這樣的分享很感動 :)

    回覆刪除
  44. 謝謝您的教學分享,太讚了!請問以後會有跟資料庫有關的c#程式教學嗎?

    回覆刪除
  45. 小山老師,真的很感謝你的教學短片分享,雖然網上有很多相關的教程,但都是文字的,讀起來都不太明白,看完你的影片後即時明白了很多。請問以後會有介紹FileStream, StreamReader,StreamWriter,BinaryWriter等類的介紹嗎?謝謝

    回覆刪除
  46. 小山大師:以後是否有 MEDIA PLAYER之類的 PLUGIN的 C#應用教學 ?

    回覆刪除
  47. 謝謝你分享的文章,還有很用心的影片教學,解救了一個想轉職的門外漢,很少有影片像你這樣的概念,利用簡短的時間釐清重點式的教學,很棒。再次謝謝你!

    回覆刪除
  48. 謝謝小山的教學,非常的受用,但不知道後續的教學還會繼續嗎?
    多形? ADO.NET? LINQ? Debug、測試的技巧?

    回覆刪除
  49. 你好 謝謝你的教學 我也學到不少 請問可以教一下checkbox嗎 在試過網上不同方法也是有錯誤 謝謝你

    回覆刪除
  50. 您好
    timesLabel.Text = "你點了滑鼠...." + times + "次";

    在您的滑鼠點擊次數的影片輸入 會出現timesLabel "不存在於目前的內容中" CS0103
    我用的版本是Visual studio2017的版本

    請問我要修改哪邊呢

    回覆刪除
    回覆
    1. 你的 Label 中的屬性 Name 也要改成 timesLabel

      刪除
  51. 不好意思 突然請教你這個問題 ~ 謝謝你

    回覆刪除
  52. 優質的教學

    我是新竹高中的學生
    目前正在學C#

    回覆刪除
  53. 小山老師想請問一下,我本身是學機械工程,現在開始慢慢邁向工業4.0大數據,但基本的影像處理這塊用C#合適嗎?
    小弟我本身是寫PLC,想轉換寫PC,但看到了第13課 - NumericUpDown 我看得懂也了解了,但你出的題目我卻沒有頭緒寫出來,有什麼方法能提供給我增加這塊嗎?謝謝

    回覆刪除
  54. 這麼好的頻道,沒有繼續更新實在太可惜了,希望能繼續更新多形的影片,跪求 !

    回覆刪除
  55. 作者已經移除這則留言。

    回覆刪除
  56. 總算更新了,期待後面的教學,謝謝。

    回覆刪除
  57. 您好~我從來沒碰過程式語言,非常喜歡您的課程淺顯易懂,謝謝您的教學影片!!

    回覆刪除
  58. 感謝您的教學影片,讓我真的了解物件導向的真正意思,也請教一下,您的這些原理也可以用在Web Forms嗎
    二者是否有差別,謝謝

    回覆刪除
  59. 2020還在看呢!! 謝謝小山

    回覆刪除
  60. 非常感謝老師的教學影片
    真的很有幫助!

    回覆刪除
  61. 請問一下,
    如果把這裏的所有C#教學都學完了,
    距離把C#的所有功能精通差多少百份比左右?? (大約就可以了)
    * 本人的目標是在UNITY用C#寫遊戲的

    回覆刪除
  62. 小山先生!! 謝謝您的教導!!持續學習中!! 希望您能持續教導

    回覆刪除
  63. 2022的受惠者簽到~
    非常感謝老師的教學影片

    回覆刪除
  64. 透過小山老師的教學 學習C# 真的很感謝老師

    請問老師,會有LiveCharts for C#的教學嗎?

    回覆刪除