C# 基礎理論

01 - 選擇題和填空題

1、C#是一種運行在 .NET Framework 之上的高級程序設計語言。
.net framework 有兩大組成部分: 公共語言運行時CLR 和 .NET 框架類庫 FCL

2、進行.NET程序開發的最基本環境是: .net framework 和 代碼編輯工具 (例如:記事本)。

3、程序調試過程中常見的錯誤類型有三種: 語法錯誤、邏輯錯誤、運行時錯誤

4、在C#程序中, Main() 方法是程序調試和運行的入口,注意,首字母必須大寫。

5、C#中的數據類型可以分爲 值類型 和 引用類型 兩大類,值類型存儲在 棧 內存中,引用類型存儲在 堆 內存中。常見的值類型有:bool、char、byte、int、float、double、decimal、struct、enum;常見的引用類型有:object、string、class、array。

6、程序運行時,數據存儲所需要的內存空間由 數據類型 來決定。

7、 foreach 語句用於遍歷訪問整個集合或數組,並針對各元素執行內嵌語句。要求理解並
掌握 foreach 語句的用法。

8、
C#語言的異常處理語法形式是:
Try { … }
Catch (異常類型 標識符){ … }
Finally { … }
如果執行try語句塊出現異常,則轉向相應的catch語句塊,執行完catch語句塊後再去執行finally語句塊。finally語句塊主要用來 釋放資源 ,它總是在離開try語句塊後執行的,而且finally語句塊中程序是必須執行的。

9、 數組 是一種有序的、能夠存儲多個相同類型變量的集合。在C#中,通過 數組名 和 數組元素 的下標來引用數組的元素。

10、在C#中,通過 new 運算符創建數據並將數組元素初始化。如果要聲明一個整形數組arry,數組有3個元素,分別是:1、2、3,其語法形式有下面4種:
<1>int[] arry = new int[3]{1,2,3};
<2>int[] arry = new int[]{1,2,3};
<3>int[] arry = {1,2,3};
<4>int[] arry;
arry = new int[]{1,2,3};

11、 Arryalist (數組列)類位於System.Collections命名空間下,它可以 地添加和刪除元素。與數組相比, Arraylist 類有下面的一些特點: 數組 量是固定的,而 Arryalist 的容量可以根據需要自動擴充; Arraylist 提供添加、刪除和插入某一範圍元素的方法,但在數組中,只能一次獲取或設置一個元素值;ArrayList提供只讀和固定大小包裝返回到集合的方法,而數組不提供; Arraylist 只能是一維形式,數組卻是可以是多維的。

12、掌握ArrayList類的常用方法。

13、 枚舉類型 是一種輕量級的值類型,用來表達一組特定的值的集合行爲。在枚舉中的每個成員實際上是一個 符號常數 。

14、 string 對象是隻讀的,一旦創建了該對象,就不能修改它的值。有些方法表面上看來能夠修改String對象,但實際上他們返回的是,根據所調方法修改而創建新的String對象。

15、掌握String類中有關字符串的常用方法。

16、面向對象編程中,大多數都是以 類 作爲 數據 封裝的基本單位。從編程語言的角度看,類就是一種 數據結構 ,它定義了 數據 和 操作這些數據 的代碼。

17、默認情況下, 類 的訪問修飾符是internal,類成員的訪問修飾符是 private 。

18、在同一個類中,可以定義多個名稱相同,但參數不同的方法,這稱爲 方法重載 。

19、 構造 函數是用來在創建對象時進行初始化操作的特殊方法。構造函數的命名必須和 類名 完全相同;每個類至少有一個 構造 函數;一個類可以有多個 構造 函數 重載 ; 構造 函數不包含任何返回值,也不能用void來修飾。

20、 析構 函數是用於執行清除操作的特殊方法。析構函數的命名必須與 類名 相同,爲了區分 構造 函數,前面加“ ~ ”;一個類只能有一個 析構 函數;析構函數不能 重載 ; 析構 函數 不能 (能、不能)寫返回類型, 不能 (能、不能)帶參數;析構函數不能由程序顯示地調用,而由 系統釋放對象 時自動調用。

21、 靜態 成員,是使用訪問修飾符static定義的類成員,包含 靜態字段 和 靜態方法 。用於解決類的所有對象 數據共享 的問題。靜態成員屬於整個類所有,而 成員屬於對象。在類體外引用靜態成員,應使用: 類名.靜態公有成員 。

22、在C#語言中, 屬性 可以把字段域和訪問它們的方法相結合,使類能夠以一種公開的方法獲取和設置值,同時 隱藏實現 的代碼。

23、面向對象的三大特徵: 封裝,繼承,多態 。

24、 派生 類可以訪問基類的非private成員,即public和protected成員。其中,protected訪問修飾符表示該方法只 可以 (可以、不可以)在它的類內部或派生類中被訪問。

25、當派生類有方法和基類的方法出現名稱相同的情況下,基類的方法將會被 隱藏 。

26、在默認情況下,C#中的方法都是 非虛擬 的,不能 重寫 ,要重寫就必須顯式地聲明爲virtual。

27、使用override進行 方法重寫 時要注意:被重寫的方法必須是virtual、abstract或override;子類重寫的方法必須和父類的虛方法的原型完全相同;override不能改變基類虛方法的訪問權限;可以通過base調用繼承的基類中的虛方法。

28、多態性分兩種: 編譯 時的多態性和 運行 時的多態性。編譯時的多態性是通過方法 重寫 實現的;運行時的多態性是通過方法 重載 來實現的。

29、 抽象 類是一種特殊的基類,它並不與具體的事物相聯繫,只能作爲其他類的基類,不能被實例化,只能被繼承。對於抽象類,在派生類中不能直接調用基類的成員。抽象成員只能包含在抽象類裏面。

窗體

30、 窗體 是Windows應用程序的基本單元。 Form 類是所有窗體類的 基 類。設置窗體基本的組成元素,如圖標、標題、位置、背景等,既可以通過窗體的 屬性面板 來完成,也可以通過 代碼 實現。

31、當窗體被首次顯示時,將發生 load (加載)事件;在窗體上按下然後釋放一個鼠標按鈕時,會觸發 Click (鼠擊)事件;在窗口正要關閉但還沒有關閉之前,會觸發 formClosing(form關閉)事件;當窗體被用戶關閉時則發生 Closed (關閉)事件。

32、Control(控制)類定義了控件類的共同 屬性 、 方法 和 事件 。

33、 lable (標籤)控件主要用於顯示不能編輯的文本,標識窗體上的對象。

34、用戶單擊 Buttion (按鈕)控件時會觸發Click事件。

35、 TextBox (文本框)控件用於獲取用戶的輸入數據或者顯示文本,可以顯示多行,也可以設置爲只讀控件,對於敏感信息,可以將文本設置成密碼字符。

36、掌握 listBox (列表)控件的列表項添加、插入、刪除的方法。

37、 combobox (組合框)控件結合了TextBox控件和ListBox控件的功能,用於在下拉組合框中顯示數據。

38、 Numericupdown (數值選擇)控件是一個顯示和輸入數值的控件,通過其Value(價值)屬性,可以獲取控件中顯示的數值。

39、 ridoButtion (單選按鈕)控件爲用戶提供由2個或多個互斥選項組成的選項集,通過其Checked屬性的值來判斷單選按鈕是否被選中,當該控件的Checked屬性發生變化時,會觸發CheckedChanged事件。

40、當 checkbox (複選框)控件的CheckState(檢查狀態)屬性發生變化時,就會觸發CheckedStateChanged事件。

41、 messagebox (消息)類是封裝消息對話框,該類只提供一個方法Show(),用來把消息對話框顯示出來。此方法提供了 21 個不同的重載版本,可以根據自己的需要設置不同風格的消息對話框。

42、用戶要瀏覽或選擇要打開的文件,可以使用選擇文件的 openfiledialog (打開文件對話框)組件; savefiledialog (保存文件對話框)組件則顯示一個預先配置的對話框,可以使用該對話框將文件保存到指定位置。

43、 FONTdialog (字體對話框)組件中的顏色選項要通過設置ShowColor屬性纔會顯示出來,而Font屬性則是用來獲取或設置選定的字體。

44、 picturebox (圖片)控件是用於顯示圖像的Windows圖片框控件,其用來顯示圖片的Image屬性是Image類型的。

45、掌握Image類中兩個常用的方法。

46、 imagelist (影像)控件用於存儲圖形資源,實際上相當於一個圖片集,將多個圖片存儲到圖片集中,每個單獨的圖像可以通過其索引值或其鍵值來訪問。

47、 richtextbox (多格式文本框)控件用於顯示、輸入和操作帶有格式的文本,允許用戶輸入和編輯文本的同時,進行更高級的格式處理。

數據庫

48、 ado.net 是用戶的應用程序和數據源之間溝通的橋樑,主要提供一個面向對象的數據訪問架構。其用於訪問和操作數據的兩個主要組件是: .net framework數據提供程序 和 dataset 。

49、ADO.NET主要有 5 個核心對象:Connection(連接)對象、Command(命令)對象、DataReader對象、DataSet對象、DataAdapter(數據適配器)對象。 dataset 對象將數據庫中的數據複製一份放到了本地的內存,相當於在內存中創建了一個小型關係數據庫。

50、所有 數據庫訪問 操作都是從建立數據庫連接開始的,在打開數據庫之前,必須先設置好連接字符串,然後調用open方法打開連接,然後便可對數據庫進行訪問了。

51、 連接 字符串由分號隔開的名稱和值組成,它告訴ADO.NET數據源在哪裏,需要什麼樣的數據格式、提供什麼樣的訪問信任級別以及其他任何包括連接的相關信息。

52、使用 Connection 對象與數據源建立連接後,可用 command 對象對數據源執行增、刪、查、改等操作,操作的實現方式可以是使用SQL語句,也可以是使用存儲過程。

53、掌握Command對象的三個屬性: Connection 屬性、 commandtext (命令文本)屬性、 commandtype (命令類型)屬性。掌握Command對象的三個方法:
<1> executenotqoery () (執行無法查詢):用於執行非SELECT命令,返回命令所影響的行數。
<2> ExecuteScalar () 【死給了】(執行值): 用於執行SELECT查詢命令,返回第一行第一列的值。
<3> ExecuteRead() (執行讀取): 執行SELECT查詢命令,並返回一個DataReader對象。

54、 dATAset 對象是一個簡單的數據集,只允許以 只讀 、 順向 的方式查看所存數據,該對象不能直接使用構造函數實例化,必須通過Command對象的 ExecuteRead() 方法來生成。如果要獲取當前記錄的下一行數據,可以調用 read() 方法,當讀取到集合中的最後一行數據時,Read()方法返回false。

55、 dataadapter 對象是一種用來充當DataSet對象與 實際數據 之間橋樑的對象,專門爲DataSet服務。DataSet是一個非連接對象,與數據源無關,而DataAdapter則負責填充它。通過DataAdapter對象的 fill() 方法填充DataSet;使用 update() 方法,可以將DataSet中修改過的數據及時地更新到數據庫中。

56、 datagridview (數據網格視圖)數據表格控件,可以顯示和編輯來自多種不同類型的數據源的表格數據。將數據綁定到DataGridView控件非常簡單和直觀,在大多數情況下,只需要設置DataSource屬性即可。

57、定義 接口 使用interface(接口)關鍵字,接口中定義的成員都是公開的,因此在實現接口的時候,無論是結構還是類,必須以公共成員來實現接口的成員,而且必須實現接口的所有成員。

58、 抽象 類的成員定義是帶有訪問修飾符的,而 接口 不帶訪問修飾符,因爲接口中所有的成員都是公開的,沒必要添加訪問修飾符。抽象類中可以包含非抽象成員和構造函數,接口不能包含具備實現代碼的成員,也不包含構造函數,因爲抽象類是類的一種,而接口不是類。

59、 委託 是一種在形式上與方法簽名相似的類型。委託是一種類型,可以獨立聲明爲變量,再直接把與委託匹配的方法賦值給委託類型的變量。

60、一個委託類型的實例可以 與多個方法關聯 ,委託之間可以進行相加和相減運算,對委託鏈進行管理。委託可以讓方法作爲 參數 傳遞給其他方法。

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