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

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