學習C#的起點,人人都能認識C#,學會程式設計一點不難

C#程式結構包括:

註釋塊、名稱空間、類、方法、識別符號、關鍵字、語句

名稱空間:

名稱空間(Namespace)就是把功能相同的

放到一塊,

用來組織和重用程式碼,

C#程式結構中每個名稱空間相當於一個邏輯結構的

倉庫

,C#程式是利用各種名稱空間組織起來的,而實際上名稱空間能

將同名的類分開

它好比一個資料夾

,把不同性質的內容放到不同資料夾裡面,每一個資料夾裡面還可以有很多資料夾,形成分層結構,

即使兩個檔名重名

,你也能夠透過資料夾找到它們,

就不會混淆不清了。

先來看看名稱空間程式碼:

//System名稱空間是系統已經定義好的名稱空間,包含用於定義常用值和引用資料型別、事件和事件處理程式、介面、特性以及處理異常的基礎類和基類。using System;//引用System。Data表示你需要使用資料、陣列,可以直接使用陣列型別,而不需要再新增字首using System。Data;//使用者自己定義的名稱空間using namespace2;//System。Collections。Generic名稱空間,包含處理集合的泛型型別using System。Collections。Generic;//可以使用類似SQL的語法來查詢資料using System。Linq;//using System。Text空間,包含與字串處理和編碼相關的型別using System。Text;//using System。Windows。Forms,使用窗體內建的各種控制元件、事件類using System。Windows。Forms;

名稱空間分為兩類:

使用者定義的名稱空間

系統定義的名稱空間

使用者定義的名稱空間:

就是使用者自己

在程式碼中

定義的名稱空間

系統定義的名稱空間:

你可以使用關鍵字

using

來呼叫系統已經定義好的

名稱空間

using System名稱空間:

是系統已經定義好的名稱空間,包含用於定義常用值和引用資料型別、事件和事件處理程式、介面、特性以及處理異常的基礎類和基類

using System.Data名稱空間:

引用System。Data表示你需要使用資料、陣列,可以直接使用陣列型別,而不需要再新增字首。如果沒有引用System。Data,當你需要定義一個數據表型別的變數

需要加字首

:System。Data。DataTable dataTable = new System。Data。DataTable();如果引用了System。Data,則你就

不用加字首

:DataTable dataTable = new DataTable();

using System.Collections.Generic名稱空間:

System。Collections。Generic名稱空間,包含處理集合的泛型型別

using System.Linq名稱空間:

Linq是在。NET Framework 3。5 中才出現的技術,它提供支援使用語言整合查詢 (LINQ) 進行查詢的類和介面,藉助於LINQ技術,你可以使用類似SQL結構化查詢的語法格式來查詢任何形式的資料,它的出現大大提高了程式查詢和處理資料的能力和效率,對於一個數據庫高手來講,它的出現簡直就是福音

using System.Text名稱空間

:using System。Text名稱空間

提供常用的字串操作

,包含與字串處理和編碼相關的型別

控制檯應用程式:

開啟VS軟體建立控制檯應用程式,鍵入程式碼

using System;namespace namespace1//使用者名稱空間{ class Program//使用者定義的類,實現某一特定功能 { static void Main(string[] args) //程式入口 { Console。WriteLine(“名稱空間的學習和理解”);//實現輸出一條資訊 } }}

執行程式:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

這裡面用到了System名稱空間下的Console類,System中已經定義好了Console類,如果你不在前面使用using System,這裡面就要用到它的完全限定名稱了System。Console。WriteLine()

使用者自己定義的名稱空間中的類

using System;using namespace2;//使用者自定義的名稱空間namespace namespace1{ class Program { static void Main(string[] args) //程式入口 { p2 n = new p2();//對使用者自己定義的類進行例項化 n。s1();//使用使用者自己定義的類中的方法 } }}namespace namespace2//使用者自己定義的名稱空間{ class p2//使用者自定義的類 { public void s1()//使用者自定義的類中的方法 { Console。WriteLine(“使用使用者自己定義名稱空間中的類”);//輸出一條資訊,這裡用到了系統名稱空間中的Console類 Console。ReadLine(); } }}

執行程式:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

控制檯程式輸出

如果你在前面不引用使用者自定義的名稱空間:using namespace2,程式就會報錯:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

錯誤資訊

C#的類,

是一種資料結構,裝著各種成員

,它是C#語言的核心和基本構成模組,它的最大的特色是,使用者不僅可以使用系統已經定義好的類,也可以使用使用者根據自己需要自己定義的類。

當你在使用新的類之前,必須要事先宣告這個類,

宣告類的關鍵字是class

,上文就有宣告p2類的程式碼:

class p2//使用者自定義的類 { public void s1() { Console。WriteLine(“使用使用者自己定義名稱空間中的類”); Console。ReadLine(); } }

main方法

main方法是

程式的入口處

,C#程式中必須包含一個,而且是

唯一的一個main方法

,它也是一個類的成員,由於程式啟動時,還沒有建立類的物件,所以它必須是靜態的,上面main方法的修飾符static表示main方法是一個靜態方法,呼叫這個方法不能使用例項化物件,而是直接使用類名來呼叫,

void表示這個方法沒有返回值

static void Main(string[] args) { p2 n = new p2(); n。s1(); }

Console類的兩個方法

C#環境下,在Console類中提供了兩個輸出字串的方法:

Write方法

:Console。Write不輸出換行

學習C#的起點,人人都能認識C#,學會程式設計一點不難

控制檯程式不輸出換行

WriteLine方法

: Console。WriteLine輸出換行

學習C#的起點,人人都能認識C#,學會程式設計一點不難

控制檯程式輸出換行

Console

。WriteLine:

識別符號和關鍵字

識別符號就是系統或者使用者自定義的

類、方法或者變數的名稱

,上文的Console、namespace1、s1等都是識別符號,

識別符號的書寫有幾個規則:

一是:

識別符號只能由數字、字母和下劃線組成;

二是:

它必須以字母或者下劃線開頭;

三是:

它不能是關鍵字,所謂的關鍵字就是系統的保留字,上文的static、void和public都是關鍵字,這些關鍵字不能夠命名識別符號;

程式碼註釋塊

為了方便寫的程式碼具有可讀性,程式碼註釋塊是經常使用的,編譯器在編譯程式時不執行註釋塊中的內容,註釋塊有三種:

一是:

單行註釋,使用“//”;

二是:

多行註釋,使用“/*。。。*/”;

三是:

給程式碼段新增說明,使用“///”給一段程式碼來新增說明

C#Windows窗體工作環境

C#工作介面有:工具箱、資源管理器、屬性視窗和程式程式碼編輯區、選單和工具欄等。

工具箱:

左側的工具箱存放著多種控制元件,點選上面的Auto Hide圖示,自動隱藏圖示,工具箱就會固定到環境的左側,可以更方便我們來取用各種控制元件:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

工具箱

控制元件按不同類別進行分類存放,Common Controls公共控制元件、Components元件、Printing列印和Dialogs對話方塊等多種類別:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

工具箱中的控制元件

資源管理器:

解決方案資源管理器在右上側,解決方案名稱會根據所建立的專案來產生,由於是Windows窗體應用程式,因此會產生跟窗體有關的程式,即與Windows窗體有關的檔案:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

資源管理器

屬性視窗:

屬性視窗提供窗體物件或控制元件的屬性設定,透過屬性視窗提供兩種功能,即屬性和事件。

你可以透過屬性視窗,對窗體和加入窗體上的一切控制元件進行設定,而且這些需要設定的屬性可以按照一定的的順序進行排列,如按分類排序Categorized、按字母順序Alphabetical、屬性Properties和事件Events:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

屬性視窗

屬性列表由相關屬性名稱組成,控制元件不同屬性列表也不相同,當滑鼠點選某一特定屬性行時,則在屬性視窗的最下方會簡單提示該屬性值所代表的意義,如BackColor下面就有提示資訊The background color of the component,表示元件的背景顏色:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

屬性視窗

你可以透過點選事件Events來使屬性視窗按事件分類來顯示:

(1)單擊字母順序Alphabetical按鈕;

(2)單擊事件Events按鈕,目的為某個事件編寫程式程式碼;

(3)用滑鼠點選某一事件,雙擊即進入程式程式碼編輯區,建立了此事件的程式段;

下面是對Click事件進行雙擊,進入程式程式碼編輯區,Click事件的簡單提示Occurs when the component is clicked,就是當元件被單擊的時候發生:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

事件視窗

程式程式碼編輯區:

以Windows窗體來編寫應用程式時,必須針對某一個控制元件物件來編寫,如果要讓窗體單擊時執行一些操作,就得進入程式程式碼編輯區。

(1)選擇窗體,找到屬性視窗的Click事件:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

(2)Click右側顯示Form1_Click事件,表示要在窗體上單擊來觸發的事件處理程式:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

(3)用滑鼠雙擊Form1_Click,則進入了程式程式碼編輯視窗,框住的區域是新加入的Form1_Click事件:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

建立窗體介面

在窗體上加入一個label控制元件和兩個button控制元件,label控制元件負責你想要顯示的內容,button控制元件一個是用來觸發事件讓label控制元件顯示相應內容,另一個是觸發事件讓程式關閉。

先介紹幾個常用的控制元件:

Label控制元件:

它是標籤控制元件,可以用來顯示窗體介面上的文字

Textbox控制元件:

這是個文字框控制元件,它能夠讓使用者輸入內容

Button控制元件:

我們最熟悉的按鈕控制元件,單擊後可以觸發某個事件過程,我們程式執行的觸發多數靠它來完成

無論是窗體還是控制元件,在windows窗體應用程式中都是物件,所以都可以對這些物件進行屬性的設定。

Form1:設定text和font屬性,text可以讓窗體在標題欄顯示相應的內容,font可以設定字型的顏色

Label:設定name和forecolor屬性,name是標籤的名稱,方便我們在程式中使用它,forecolor是標籤的前景色

Button:設定name和text屬性,name是給button按鈕一個名稱,text可以在button按鈕上顯示相應的內容

在窗體上加入控制元件:

加入控制元件有兩種方法:

①你可以透過雙擊控制元件進行新增,控制元件自動顯示到窗體的左上方;

②你也可以對控制元件進行拖拽到窗體的任意位置上;

學習C#的起點,人人都能認識C#,學會程式設計一點不難

窗體介面

當你用上面的方法將控制元件放到窗體上後,可以對控制元件進行佈局的排列和對齊:

①可以透過窗體上的參考控制線進行對齊和排列;

學習C#的起點,人人都能認識C#,學會程式設計一點不難

窗體介面佈局

②也可以利用佈局工具欄;

學習C#的起點,人人都能認識C#,學會程式設計一點不難

窗體介面佈局

設定控制元件外觀:

每個加入到窗體中的控制元件都有各種各樣的屬性,在屬性視窗以categorized分類進行顯示,分類顯示可以將性質相近的屬性排列在一塊,方便進行查詢和定位:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

屬性視窗分類顯示

與控制元件外觀有關的屬性有backcolor背景色、borderstyle框線樣式、font字型、forecolor前景色,它們都在appearance外觀下:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

屬性視窗分類

對label1標籤控制元件進行設定,將borderstyle框線樣式設定為單線,效果如下:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

窗體介面

你也可以滑鼠點選窗體後,對窗體上的字型大小等進行設定,包括窗體上的任何控制元件上的字型:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

佈局設計

你也可以為label1選擇字型顏色,在屬性視窗對forcolor前景色進行相應色彩設定,色彩當中提供了三種,我們可以選擇custom自定義樣式,這裡面的色彩比較多:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

設定控制元件屬性:

你還可以對控制元件的name和text屬性進行更改,每個加入到窗體的控制元件都有name屬性,當我們在編寫程式程式碼時可以用到它的name名稱,就是來識別不同的控制元件,這裡面窗體的name是form1,上面的兩個button控制元件的name分別是button1和button2,為了編寫程式碼方便我們通常將name設定成符合實際意義的名稱,而另一個text屬性易與name相混淆,雖然他們看著很類似,其實它們有著本質上的區別,一個屬於展現給使用者的內容,一個是後臺識別的id,它們都是透過屬性視窗進行設定修改的。

Text屬性設定:

點選要修改text屬性的控制元件→在appearance下找到text屬性→鍵入要顯示的文字內容,下面是對button和label的text屬性進行修改和設定:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

學習C#的起點,人人都能認識C#,學會程式設計一點不難

name屬性設定:

點選要修改name屬性的控制元件→在design下找到name屬性→鍵入控制元件的名稱,下面是對button的name屬性進行了修改和設定,可以看到顯示的內容沒變,只是其表徵身份的名稱發生了改變,我們在編寫程式碼時用到的是“btnShow”,而不是“單擊”:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

編寫程式程式碼並執行:

對控制元件的基本設定完成以後,我們就要加入程式程式碼,實現按鈕的單擊和結束功能,我們要實現的有兩個功能:

1、點單擊按鈕,讓label控制元件顯示相應內容,也就是改變label的text屬性

2、點結束按鈕,結束並關閉程式

而上面這種透過程式程式碼響應或者處理的操作就是事件處理程式event handlers,其語法格式為:

private void 控制元件名稱_事件(object sender,EventArgs e){//程式語句}如果透過單擊button按鈕來實現,則語句為:private void btnShow_Click(object sender,EventArgs e){//程式語句;}

這裡面每個事件處理程式都有兩個引數,sender提供觸發事件的物件引用,e用來傳遞要處理事件的物件。

編寫實現第一個功能的程式碼,雙擊button按鈕進入程式碼編輯區,可以看到我們在編寫程式碼時系統會有自動提示,這就大大方便了我們寫程式碼的效率,從下拉列表中選擇想要的物件或者屬性即可:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

最後完整的程式碼是:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

再來編寫實現第二個功能的程式程式碼,同理進入到窗體介面雙擊button結束按鈕:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

進入到了我們第二功能程式碼的編寫區域:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

這裡面的按鈕我們並沒有為它重新命名,而是我們在建立按鈕時使用自動建立的名稱tutton2,這不會影響我們對程式程式碼的編寫:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

執行程式“Ctrl+F5”,點選“單擊”按鈕後label出現了相應的內容,單擊結束則退出程式:

學習C#的起點,人人都能認識C#,學會程式設計一點不難

結語:有感興趣的關注、收藏、點贊、轉發