一:為什么選擇C#
每個人都有夢想,有些人的夢想就是:成為程序員。最課程(www.zuikc.com)的《零基礎c#入門》是試圖幫助我們實現這個夢想。
也許你要問:我基礎很差怎么辦?最課程的《零基礎c#入門》假設你基礎差到從來沒有寫過一行程序。當然,我們也相信,本系列學習對於大學本科學的計算機,但是又初入程序員這個行業的同學有很大幫助。
現在,我們言歸正傳,
為什么選擇C#?
為什么要選擇C#作為你成為程序員的第一門語言,我們這里歸結的原因有3個:
• 首先,C#是一門非常優秀的面向對象編程的語言
凡是對編碼感興趣的同學一定聽說過“面向對象編程”這個概念,C#就是為此誕生的,它天然是面向對象的。所以,既然“面向對象編程”是當前IT界的主流,我們選擇C#就沒有偏離主流方向。
• 其次,C#是當前微軟力推的一門開發語言
C#(讀作C Sharp),原名Cool(夠酷),它發布於2000年6月26日。雖然只有短短十多年時間,但是如果我們現在使用微軟的技術在Windows平台上來開發一般應用,我很難想象得出還有什么語言被C#更合適。
• 最后,經過多年發展,C#語言很適合入門
C#語法簡單,入門容易。它能滿足讓我們快速成為程序員的願望,我們的最初實際編程例子,就是一個有意思的“打老鼠”游戲,使用C#,能很快讓我們感覺到我們是在寫有用的代碼,而不是一直在學習,直到某天才能寫出有用的代碼。
二:使用 CSharp 可以開發什么程序
我們再來看看使用C#可以開發什么樣的程序:
首先,使用C#可以用來開發傳統的Windows窗體程序。比如QQ、暴風影音,比如Word、Visual Studio等,它們都是窗體程序,且不論它們本身是什么開發的,但是現在我們都可以使用C#來進行開發。
其次,使用C#還可以開發網站程序,而且,C#也成為了使用微軟技術進行網站開發幾乎首選且唯一的語言。VB.NET,Asp,那都不是主流,甚至連非主流的快算不上了。
另外,沒錯,目前比較酷的一種C#的應用,那就是Windows Phone平台的開發。使用C#,我們可以很方便的在當前最熱門的移動平台(包括平板)上進行開發,我們可以將我們寫的應用程序上傳到微軟的應用程序商店中,讓別人來使用你的程序。
除此之外,我們可以在以上平台上進行游戲的開發,這是一個內容分支,之所有把它單獨列出來,是因為喜愛編碼的我們很大程度上都是游戲愛好者,而使用C#可以讓我們多平台上開發自己的游戲。現在,借助於一些第三方的框架,我們可以使用C#來開發游戲並部署到IOS和安卓這樣的平台上。
使用C#,我們可以干世界上90%的事情。那么剩下的10%呢,嗯,這個,等我們入門了之后再說吧。
三:使用什么工具來開發 C# 程序
使用什么工具來開發 CSharp 程序呢?首選的當然是微軟的Visual Studio,當然,如果我們一定要追求特立獨行的話,當然也可以使用記事本來編寫代碼,然后用.NET Framework的命令來編譯成為可執行程序。
業界也有幾個其它的工具來開發C#,但是都未形成主流。作為初學者,我們最好就使用Visual Studio,當前的穩定的版本是2013(注意,教學視頻中是 2012,但是這不影響我們學習)。
另外一個建議是,我們最好使用英文版,使用中文版,一開始的時候可能入手會簡單一些,但是不利於我們成長為專業開發者,因為我們一旦編碼經驗逐漸增長,在調試過程中,難免會出現一些異常信息,大部分的異常我們雖然都能在中文網站搜索到,但是一些比較難解的異常往往英文網站能提供有效的幫助,如果我們使用英文版,那么英文的異常信息能幫助我們搜索到這些信息。
順帶提一下,如果你的英文還不錯,在編碼過程中遇到問題想要自行解決的時候,可以到 stackoverflow.com 這個網站尋求幫助,這是目前地球上最繁榮的編碼問答類網站,一般來說,多難的問題都可以迅速在該網站上得到解答。中文類網站還有 csdn,博客園等。
Visual Studio的下載地址在微軟的官網有:
http://www.microsoft.com/visualstudio/chs/downloads
四:寫一個 CSharp 程序需要具備什么基礎
好,接下來我們看看寫一個程序需要具備什么樣的基礎知識,見下圖的4點:
接下來,我們會讓你快速的過一遍以上 4 方面的知識,從 Hello World 控制台程序開始,到本課程完成時候,我們會熟悉上圖中的這些知識點。
關於最后一點:數據類型、運算符和控制流,我們要強調一點,我們希望你在編碼任務的過程中,如果涉及到了某知識,我們就會對其進行講解。很多的書本或者課程,大篇幅的講語法和基礎知識,往往會讓我們喪失了學習下去的興趣,我們在這里是要換一個思路,那就是直接寫程序,通過寫代碼,來自然而然的掌握這些基礎知識。比如,我們為了講這些基礎知識,就要寫兩個程序,一個就是非常經典的Hello World,而緊接着,我們就要寫一個非常簡單的打老鼠的游戲,希望通過這個打老鼠的游戲讓大家建立起這樣的信心:沒錯,即便我只掌握有限的C#知識,我也能寫一個比較有意思的程序。
五:CSharp 程序、解決方案的結構
看看我們如何來創建一個最簡單的應用程序。
首先來學會如何新建一個C#程序,首先,打開VS,然后選擇New->Project:
這個時候會出現如下的UI:
在上圖中,紅色數字1、2、3、4、5處分別指的是:
1,指的是我們要創建的應用程序的類型(也稱之為項目類型,所以我們剛才的操作是:New->Projcet),這里我們選擇的是我們要創建一個Windows程序;
2,指的是我們選擇要創建一個控制台程序(即項目類型為:控制台應用程序),即Console Application;
3,指的是應用程序的名稱(即當前這個控制台應用程序的名稱),在這里,我個人覺得可能“Name”變成“Project Name”更有利於初學者識別該概念;
4,就是咱們要創建的這個程序的路徑了;
5,要記住,每個項目,都會屬於一個解決方案,在這里我們輸入解決方案的名字。我們創建這個控制台應用程序(項目)的時候,VS會為我們自動創建一個解決方案。它們之間的關系是,項目屬於解決方案,一個解決方案可以帶多個項目。
點擊確定,VS就會為我們創建這個應用程序,如下:
我們輸入一行代碼:
Console.WriteLine("Hello World!");
(上圖中紅框處),然后我們運行起來,選擇菜單中的:“Debug->Start Without Debugging”,當然,也可以使用快捷鍵“Ctrl+F5”:
運行起來的效果如下,即在Windows的控制台下輸出“Hello World!”:
六:解決方案和工程是如何組織的
上面,我們以最快速的方式讓“Hello World”運行起來了,現在我們需要回過頭來看看整個應用程序是如何被組織起來的。
我們進行如下操作,在“解決方案名”上點右鍵,選擇“Open Folder in File Explorer”:
這個時候,會打開解決方案在硬盤上的位置,如圖:
這里面,最重要的就是上圖紅框中的兩個實體,“MyFirstSolution.sln”代表的就是我們的解決方案,而“MyFirstProject”代表的就是我們的控制台應用程序(項目),現在我們雙擊“MyFirstProject”,查看該文件夾里面,然后和VS的界面比對一下:
順着箭頭,我們可以找到硬盤上的文件和VS中的文件一一對應的關系:
Program.cs對應Program.cs;
App.config對應App.config(應用程序配置文件,先不用管它);
MyFirstProject.csproj對應VS中的項目“MyFirstProject”;
除了上圖中的箭頭所指,上圖中還有一個紅框,在紅框內的文件夾下,就放着我們生成的應用程序:MyFirstProject.exe。打開Windows的控制台,把該文件拖到控制台中,運行之,跟我們在VS中使用“Debug->Start Without Debugging”效果是一樣的。
步驟1:
步驟2:
七:應用程序是如何被組織
面我們寫了“Hello World”這個程序,我們再回到這個界面:
我們需要在看看這個程序本身是如何被組織起來的,也就是說,我們運行這個應用程序,它的整個生命周期是怎么樣,它所執行的第一行代碼是什么,最后一行代碼是什么。
針對上圖,我們給出如下結論:
1:任何c#應用程序,都有唯一一個Main函數,它作為整個應用程序的入口;
2:上圖中的第12、14行代碼就相當於是整個應用程序的第一行和最后一行代碼;
3:再復雜的應用程序,其實也就是把上圖中的13行變成更復雜的代碼而已;
現在,讓我們開始寫一個稍微復雜一點,也稍微有點意思的程序:打老鼠,這也是我們這趟課程的第一個任務。
微信掃一掃,關注最課程(www.zuikc.com),獲取更多我的文章,獲取軟件開發每日一練