當前位置:概念範文網>求職簡歷>筆試題目>

C#筆試題CSDN

筆試題目 閲讀(1.39W)

C#所開發的程序源代碼並不是編譯成能夠直接在操作系統上執行的二進制本地代碼。下面就由本站小編為大家介紹一下的C#筆試題CSDN文章,歡迎閲讀。

C#筆試題CSDN

C#筆試題CSDN篇1

1.什麼是中間語言(IL)?它的作用?

中間語言代替了COM的調用約定和內存管理標準,所有其他的NET語言都將編譯為這種語言,結果就是程序員不必來確保他們的代碼將與一種確定的二進制標準進行互操作,而是由不同語言編譯器將代碼編譯到IL中來確保這種互操作性.

2.C#中與基類通信的關鍵字什麼?作用是什麼?

C#允許通過BASE關鍵字訪問最近的基類成員

3.什麼是元數據?

描述程序集的內容,通過將元數據嵌入每個程序集中,任何程序集都可以實現完全的自我描述, 從而簡化了發佈使用較舊技術的組件時所需要的工作.

和ASP的主要優勢?

具有面向對象性 使用,使對數據庫操作更快速更強大. 支持多種語言,擺脱了ASP只能使用非結構語言(VBSCRIPT,JSCRIPT)編寫的限制. 具有代碼綁定技術,使頁面代碼和功能代碼的編寫完全分離,具有更好的重用性.

ride與重載有什麼區別?

Override用來重寫父類的方法,重載使用相同名的方法或操作符擁有不同類型的參數

SERVER 中的觸發器的理解?

觸發器是一種特殊的存儲過程,當用户修改指定表或視圖中的數據時,觸發器將自動執行.

8.大概描述下中服務器控件的生命週期?

大概描述下中服務器控件的生命週期?

9.什麼是強類型系統?

中間語言一個重要方面是建立在非常強的類型化功能上.所有的變量都清晰地標記為屬於某個特定數據類型,特別是如果給定的引用表示某個數據類型比較模糊的,那麼中間語言一般不允許對它執行任何操作.

10.觸發器分為事前觸發和事後觸發,有何區別?

事前觸發器就是在語句執行之前激活的觸發器,而後觸發器就是在語句執行後激活的觸發器.

C#筆試題CSDN篇2

1.談談final, finally, finalize的區別.

final 修飾符用於指定類不能擴展或者方法或屬性不能重寫.它將防止其他類通過重寫重要的函數來更改該類的行為.帶有 final 修飾符的方法可以由派生類中的方法來隱藏或重載.

finally 塊用於清除在 try 塊中分配的任何資源.控制總是傳遞給 finally 塊,與 try 塊的存在方式無關.

finalize允許 Object 在“垃圾回收”回收 Object 之前嘗試釋放資源並執行其他清理操作.

2.在(C# or )中, 還是 e有什麼不同?

一個是退出整個應用程序,一個是關閉其中一個form.

3.C#中的委託是什麼?事件是不是一種委託?

委託是一個可以對方法進行引用的類.與其他的類不同,委託類具有一個簽名,並且它只能對與其簽名匹配的方法進行引用.這樣,委託就等效於一個類型安全函數指針或一個回調.事件是一種委託.

4.值類型和引用類型的區別?

值類型的變量總是一個值,當聲明時編譯器分配與此類型相關聯的字節數,而且你將直接操

已經分配的內存,另外在傳遞值類型的變量時,是在傳遞變量的值而不是它的底層對象的引用.

而聲明一個引用類型的變量時,是在操作對此對象的引用,而不是象值類型那樣直接操作數據.主要的引用類型有:類,數組,接口,委託.

5.解釋下C#中的方法的重載?

C#中允許在一個類中定義方法的不同版本,編譯器會自動根據提供的參數選擇最合適的版本.

6.分析類和結構的異同?

1.結構可以繼承接口,但不允許繼承類和其他結構; 2.結構是值類型,類是引用類型 3.結構不允許聲明析構函數 4,結構是從堆棧分配內存,而類是從堆上分配內存

7. &和&&的區別.

&是位運算符.&&是布爾邏輯運算符

8.描述怎樣區分ExcuteNonQuery 和ExcuteScalar方法?

ExecuteNonQuery;用於查詢不返回結果集或者不返回除了所影響的行數之外的任何值.

ExecuteScalar:用於執行返回一個值的命令.

9.解釋文件系統為什麼會存在數據宂餘?這種數據宂餘會導致哪兩類典型的問題?

由於文件系統難於實現數據共享,因此,相同的數據可能會在多個文件中重複出現,即產生數據宂餘.數據宂餘會導致數據(或更新)異常和數據不一致性.

10.什麼是WEBSERVICE ?

從表面上看,Web Service就是一個應用程序,它向外界暴露出一個能夠通過Web進行調用的API.這就是説,你能夠用編程的方法通過Web調用來實現某個功能的應用程序.從深層次上看,Web Service是一種新的Web應用程序分支,它們是自包含、自描述、模塊化的應用,可以在網絡(通常為Web)中被描述、發佈、查找以及通過Web來調用.

C#筆試題CSDN篇3

1.接口和抽象類有什麼區別?

聲明方法的存在而不去實現它的類被叫做抽象類(abstract class),它用於要創建一個體現某些基本行為的類,併為該類聲明方法,但不能在該類中實現該類的情況.不能創建abstract 類的實例.然而可以創建一個變量,其類型是一個抽象類,並讓它指向具體子類的一個實例.不能有抽象構造函數或抽象靜態方法ract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為.取而代之,在子類中實現該方法.知道其行為的其它類可以在類中實現這些方法.

接口(interface)是抽象類的變體.在接口中,所有方法都是抽象的.多繼承性可通過實現這樣的接口而獲得.接口中的所有方法都是抽象的,沒有一個有程序體.接口只可以定義static final成員變量.接口的實現與子類相似,除了該實現類不能從接口定義中繼承行為.當類實現特殊接口時,它定義(即將程序體給予)所有這種接口的方法.然後,它可以在實現了該接口的類的任何對象上調用接口的方法.由於有抽象類,它允許使用接口名作為引用變量的類型.通常的動態聯編將生效.引用可以轉換到接口類型或從接口類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了接口.

2.描述類中的構造函數和析構函數?

構造函數用於在使用對象之前,對對象中的成員數據進行初始化.一般與類同名.

析構函數用在撤消對象時,承擔善後處理工作,比如收回對象中的成員數據所佔有的存儲空間.

3.解釋下C#中的程序集?

用於代替DLL和可執行文件(EXE)概念的自我描述.程序集由中間語言和元數據組成

裏有一個return語句,那麼緊跟在這個try後的finally 裏的code會不會被執行,什麼時候被執行,在return前還是後?

會執行, 在return前執行

SERVER的兩種索引是何形式?索引的作用?索引的優缺點?

SQL SERVER 提供了兩中索引形式:簇集索引和非簇集索引.索引是SQL SERVER在列上建立的一種數據庫對象.它對錶中的數據提供邏輯排序,可以提高數據的訪問速度.建立索引也有缺點,它可以提高查詢速度,但過多的建立索引會佔據大量的磁盤空間.

6.談談C/S和B/S的特點

1.C/S結構 是客户端和服務器機構 ;B/S是瀏覽器和服務器結構 2.C/S結構應用服務器運行數據負荷較輕,數據存儲管理較為透明,C/S架構的劣勢是高昂的維護成本. 3.B/S結構維護和升級方式簡單,成本降低,選擇很多,應用服務器運行數據負荷較輕 4.C/S多建立在局域網基礎上,B/S是建立在廣域網基礎上.

1.描述下C#中的程序集?程序集是有哪兩部分組成?

用於代替DLL和可執行文件(EXE)概念的自我描述.程序集由中間語言和元數據組成

2.什麼是元數據?

描述程序集的內容,通過將元數據嵌入每個程序集中,任何程序集都可以實現完全的自我描述,

從而簡化了發佈使用較舊技術的組件時所需要的工作.

3.請寫出 BOOL flag 與“零值”比較的 if 語句?請寫出 char p 與“零值”比較的 if 語句?

if(flag) if(flag==null)

4.説出下面幾個函數的區別:

private void test(string str){…}

private void test(ref string str){…}

private void test(out string str){…}

被調用函數不更新參數的值,因為傳遞的是參數的副本

關鍵字REF用來引用傳遞參數,從而使得被調用方法能夠更新參數的值.

OUT修飾參數,是該方法會把一個值從自身回傳給調用函數.

5.什麼是強類型系統?

中間語言一個重要方面是建立在非常強的類型化功能上.所有的變量都清晰地標記為屬於某個特定數據類型,特別是如果給定的引用表示某個數據類型比較模糊的,那麼中間語言一般不允許對它執行任何操作.

6.值類型和引用類型的區別?

值類型的變量總是一個值,當聲明時編譯器分配與此類型相關聯的字節數,而且你將直接操

已經分配的內存,另外在傳遞值類型的變量時,是在傳遞變量的值而不是它的底層對象的引用.

而聲明一個引用類型的變量時,是在操作對此對象的引用,而不是象值類型那樣直接操作數據.主要的引用類型有:類,數組,接口,委託.

7.如何理解委託?

委託是一個可以對方法進行引用的類.與其他的類不同,委託類具有一個簽名,並且它只能對與其簽名匹配的方法進行引用.這樣,委託就等效於一個類型安全函數指針或一個回調.事件是一種委託.

8. 事務是什麼?

事務的所有操作必須完成,否則事務將被撤消.也就是説,事務是作為一個整體的單位處理,不可以被分割,事務中操作失敗回滾,處理成功時提交.

9. 解釋重載函數、虛擬函數的概念?

重載:

重載分為函數重載和運算符重載.通過使用重載機制,可以對一個函數名(或運算符)定義多個函數(或運算功能),只不過要求這些函數的參數(或參加運算的操作數)的類型有所不同.

函數重載:指一組功能類似但函數參數類型(個數)不同的函數可以共用一個函數名.當編譯器遇到重載函數的調用語句時,它能夠根據不同的參數類型或不同的參數個數選擇一個合適的函數.

運算符重載:指對於不同數據類型的操作數,同一個運算符所代表的運算功能可以不同.

虛函數:

虛函數是用於實現多態的機制.就是通過基類訪問派生類定義的函數.虛函數一般是在派生類中使用同基類相同的函數的時候用的,為了正確的區分你要調用的函數是基類的還是派生類的函數.若在派生類中聲明瞭一個虛函數,則調用的是派生類中的函數,而非基類中的函數.

11.描述描述怎樣區分ExcuteNonQuery ,ExcuteDataReader和ExcuteScalar方法?

ExecuteNonQuery;用於查詢不返回結果集或者不返回除了所影響的行數之外的任何值.

ExecuteScalar:用於執行返回一個值的命令.

ExecuteReader:用於執行命令,並將結果集作為DataReader對象返回.

12. 列出中讀寫數據庫的主要的幾個類?它們的作用?

SqlConnection OleDbConnection ---連接數據庫

SqlCommand OleDbCommand----SQL語句的包裝或存儲過程的調用

SqlDataAdapter OleDbDataAdapter---用於存儲選擇,插入,更新和刪除語句的類,填充DataSet

SqlDataReader OleDbDataReader---只向前的連接數據庫讀取器

DataSet----用於數據庫操作的數據集.

13. 什麼是中間語言(IL)?它的作用?

中間語言代替了COM的調用約定和內存管理標準,所有其他的NET語言都將編譯為這種語言,結果就是程序員不必來確保他們的代碼將與一種確定的二進制標準進行互操作,而是由不同語言編譯器將代碼編譯到IL中來確保這種互操作性.

14. 在SQL SERVER20xx中存儲過程和觸發器的區別?

1.存儲過程是一段預先編譯好的T-SQL代碼,可以被重複調用,觸發器是在進行表更改操作時才執行功能.

2.觸發器執行的時間較長,性能較低;存儲過程重用性好,執行性能較高.

3.觸發器多用在完善表的數據完整性和約束;存儲過程多用在方便重複使用數據庫操作.

15.在中頁面之間傳遞值的方式?(儘可能敍述)

Session;Cookie;sfer;QueryString

16.分析類和結構的異同?

1.結構可以繼承接口,但不允許繼承類和其他結構;

2.結構是值類型,類是引用類型

3.結構不允許聲明析構函數

4,結構是從棧分配內存,而類是從堆上分配內存

t s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?

short s1 = 1; s1 = s1 + 1;有錯,s1是short型,s1+1是int型,不能顯式轉化為short型.可修改為s1 =(short)(s1 + 1) t s1 = 1; s1 += 1正確

18.敍述中的equiredFieldValidator和RegularExpressionValitor驗證控件及作用?

RequiredFieldValidator 如果指定的文本控件空白,產生錯誤

RegularExpressionValitor 文本域的值與使用常規表達式指定的模式不匹配是,產生錯誤

19.敍述下Using 的用法?

Using語句用來確保即使發生異常,也會調用DISPOSE方法,來釋放系統空閒的資源

20.C#中接口和類有什麼異同?

接口類似於類,但它們有區別:

.接口中的方法沒有訪問限制符

.在接口中不執行任何方法

.接口中的方法不能如抽象方法那樣定義為虛擬和顯式的,由實現接口的類來決定如何實現方法

.接口不能示例化,沒有構造函數,也沒有字段,在接口中不允許進行操作符的重載.

21.什麼是裝箱和拆箱?

裝箱是將值類型轉換為引用類型的過程,相反的過程(即將引用類型轉換為值類型)被稱為拆箱.在裝箱是不需要顯示的類型轉換,但在拆箱是需要類型轉換,這是因為在拆箱是對象可以被轉換為任何類型.

22.什麼是WEBSERVICE ?

從表面上看,Web Service就是一個應用程序,它向外界暴露出一個能夠通過Web進行調用的API.這就是説,你能夠用編程的方法通過Web調用來實現某個功能的應用程序.從深層次上看,Web Service是一種新的Web應用程序分支,它們是自包含、自描述、模塊化的應用,可以在網絡(通常為Web)中被描述、發佈、查找以及通過Web來調用.

23.軟件開發過程一般有幾個階段?

系統需求分析,系統概要設計,系統詳細設計,編碼,系統測試,安裝調試

24.在中自定義控件是什麼?

用户控件是用代碼所創建的控件,它的創建如同在標準的 WEB頁中創建控件一樣,不同之處在於一旦創建了用户控件,就可以在多個頁面中重複使用他們.

的Application、Session、Cookie、ViewState和Cache等變量的區別是什麼?

property和attribute漢語都稱之為屬性.不過property是指類向外提供的數據區域.而attribute則是描述對象在編譯時或運行時屬性的.這兩者是有本質區別的.

26.解釋下在中Response的作用?

與Request獲取客户端HTTP信息相反, Response用來控制發送給用户的信息,包括直接發送信息給瀏覽器,重定向到另一個ULR或設置COOKIE值

27.解釋下在中Request的作用?

Request訪問任何基於HTTP請求傳遞的所有信息,包括從HTML表格用POST方法和GET方法傳遞的參數,COOKIE和用户人證.

28. C#中能夠使用指針嗎?如果不能使用説明理由,如果能使用説出使用方法?

C#中能夠使用指針,因為在框架內使用無用單元回收器,隱藏了內存的管理工作.所以C#只允許在特定的代碼塊內使用指針,標記所用的關鍵字是UNSAFE