日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#面试知识点

發(fā)布時間:2024/4/14 C# 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#面试知识点 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

理論部分

1、解釋.net.netFrameWorkC#Vs2005ADO.NET

回答:.net:支持跨語言的開發(fā)平臺

.netframework:.net下一個重要的組件,是開發(fā)環(huán)境

C#:是一種語言

VS:開發(fā)工具

ADO.Net:是操作數(shù)據(jù)庫的一種技術(shù).

?

2、為什么.NET程序第二次運行比第一次的效率高?

???? 回答:因為第一次需要編譯兩次,第一次是通過C#編譯器編譯成微軟中間語言(MSIL),它是獨立于CPU,不能被機器識別,第二次編譯是通過即時編譯器,編譯成二進制文件。第二次運行時,用哪編譯那。

?

3、解釋CLRCTSCLS?(或者是簡述NET框架體系的結(jié)構(gòu)組成)

回答:.net框架運行于操作系統(tǒng)之上,它包含兩個重要組件:CLR(公共語言運行時)和FCL.Net Frawork 類庫)

CLR分為:

CTS: 通用類型系統(tǒng), 用于解決不同類型的轉(zhuǎn)化

CLS: 公共語言規(guī)范,用于制定以.net平臺為目標的最少特征的語言規(guī)范

?

4、什么是多態(tài)?多態(tài)分幾種?并分別解釋

???? 回答:多態(tài)就是多種形態(tài). 也就是說多個對象在調(diào)用同一個方法時會有不同的結(jié)果。

多態(tài)分兩種一種是重載,一種是重寫

重載:在一個類中定義多個方法,方法名一樣,但是參數(shù)類型或參數(shù)個數(shù)不一樣,在方法調(diào)用的時候總能找到正確的方法,但是返回值類型不同不能構(gòu)成重載的條件。

重寫.:當子類繼承父類時,子類把父類的一些屬性和方法繼承過來,一些方法不適合自己用的,就重寫。如果父類中的方法在子類中被重寫,調(diào)用的是被重寫的方法。父類方法不能隨便被重寫,只有父類的方法使用 virtualoverrideabstract修飾才能重寫,并且子類在重寫的時候要使用Override關(guān)鍵字。

?

5、什么是構(gòu)造方法,構(gòu)造方法有什么特征

???? 回答:構(gòu)造方法:1.名字與類名相同

2.沒有返回值,不是void,而是什么都沒有

3.只能用new關(guān)鍵字調(diào)用

4.實例化一個對象時會自動去調(diào)用相應(yīng)的方法。

5、構(gòu)造方法不能被繼承

注意:對于父類有參的構(gòu)造方法,只能手動調(diào)用,用base關(guān)鍵字,如果一個類沒有構(gòu)造方法,系統(tǒng)會提供一個默認的。

?

6、什么叫裝箱、什么叫拆箱

回答:裝箱:把值類型轉(zhuǎn)換成引用類型,拆箱:把引用類型轉(zhuǎn)換成值類型。

?

7、什么是值類型、什么是引用類型,他們有哪些區(qū)別?

回答:值類型包括:

基本數(shù)據(jù)類型(intlongfloatcharbool

枚舉(enum)

結(jié)構(gòu)(struct)

??????? ?引用類型包括:system.Objectstringclass,接口(interface),數(shù)組

?

值類型:每一個值類型對象都有一個獨立的內(nèi)存區(qū)域保存這個對象,若對象的值改變就會在內(nèi)存中保存這個值,也就是再開辟塊空間。

引用類型:兩個不同的對象引用同一個值,它們會指向同一個物理地址。

?

值類型傳的是值,引用類型傳的是引用,它們在內(nèi)存當中的存儲方式不同。

?

8C#中常量用哪個關(guān)鍵字定義、使用時候注意什么?

???? 回答:C#中常量用const修飾

使用時注意:1.在使用時不會發(fā)生改變(不能重新賦值)

2.在程序中反復(fù)使用

?

9、用一個例子說明枚舉,值類是引用型?

枚舉使用關(guān)鍵字enum定義? 用它來定義一組有限的值,如性別

???? 回答:public enum Genders?? //定義枚舉

{

Male,Female

}

值類

?

10、什么是繼承?使用繼承需要注意哪些事項

???? 回答:繼承就是子類繼承父類的屬性和方法,拿過來變成自己的。

注意:

1.構(gòu)造方法和私有的不能被繼承,但是可以調(diào)用父類的構(gòu)造方法。

對于有參的構(gòu)造方法需使用base關(guān)鍵字調(diào)用

???? ????2.繼承有傳遞性。

??????? ?3.C#中繼承有單根性,一個類不能同時繼承多個父類。

??????? ?4.實例化一個子類的時候,會自動去調(diào)用父類的構(gòu)造方法

?

11、什么叫密封類

???? ? 回答:被sealed關(guān)鍵字修飾的類稱為密封類,密封類不能被繼承

?

12、什么是抽象類,什么是接口?他們有什么區(qū)別?使用抽象類需要注意哪些事項

回答:

抽象類:對具體對象的最高抽象,這個對象擁有自己的最基本特征,它只有方法的定義沒有方法的具體實現(xiàn),用abstract修飾

接口:接口是某類行為或功能的抽象,是一種規(guī)范或者標準,用interface修飾?????????

?相同點:

1、都不能實例化

???? 2、都包含未實現(xiàn)的方法

???? 3、子類必須實現(xiàn)未實現(xiàn)的方法

???? 不同點:

1、抽象類用abstract定義,接口用interface定義

2、抽象類只能繼承一個類,而接口可以實現(xiàn)多個繼承一個類,但類必須在最前面

3、非抽象派生類必須實現(xiàn)抽象方法,實現(xiàn)接口的類必須實現(xiàn)所有成員,

如果是繼承一個接口可以不用實現(xiàn)接口中的方法

4、需要override實現(xiàn)抽象方法,接口是直接實現(xiàn)

5、抽象類中可以沒有抽象方法 但抽象方法中必須包含抽象類,

?

13C#中有哪些訪問修飾符?他們的作用范圍是什么?

???? 回答:

1private:私有的 只有自己可以訪問(在哪定義,在哪用,其類中無法訪問)

???? 2public:共有的,誰都可以訪問,即只要你有權(quán)利訪問定義的類,都可以訪問

???? 3internal;只有在同一個程序集下才可以訪問

????? 4protected:自己可以訪問,子類可以訪問

?

14字段默認的是什么修飾符號?類默認的是什么修飾符號?

???? 回答:字段默認是private,類默認是internal

?

15、談?wù)勀銓γ嫦驅(qū)ο笏枷氲睦斫?span lang="en-us">

???? 回答:萬物皆對象

面向?qū)ο笏枷胗腥筇匦?#xff0c;具體為,

1,封裝:保證對象自身數(shù)據(jù)的完整性和安全性。

2,繼承:建立類之間的關(guān)系,實現(xiàn)代碼復(fù)用,方便系統(tǒng)的擴展。

3、多態(tài):相同的方法調(diào)用可實現(xiàn)不同的實現(xiàn)方式。

有利于代碼重用

?

16、結(jié)構(gòu)和類有什么區(qū)別?

回答:

相同點:

1、都可以包含字段,方法

2、都可以實現(xiàn)接口

不同點:

1、結(jié)構(gòu)是值類型(不改變),類是引用類型(改變)

2、結(jié)構(gòu)(值)存放在棧(堆棧)中,類(引用)存放在堆中

3、結(jié)構(gòu)不能被繼承,而類可以被繼承

4、結(jié)構(gòu)不能包含顯示的無參數(shù)的構(gòu)造方法,類可以

5、類使用時必須用new關(guān)鍵字,而結(jié)構(gòu)可以使用也可以不使用new關(guān)鍵字

6、結(jié)構(gòu)中不能給字段賦值,而類中可以

?? 7、在結(jié)構(gòu)的構(gòu)造方法中必須給所以的字段賦值,既有幾個參數(shù)就賦幾個值類不需要????????

? 結(jié)構(gòu)-->值類型-->傳值且不改變-->指向兩塊空間

? -->引用類型-->傳引用改變-->指向同一塊空間

?

17、列ASP.NET面之間傳遞值的幾方式?各有何優(yōu)缺點

回答:

1、???????? Application

2、???????? 使用QueryString,Request

3、???????? 使用Session

4、???????? 使用Server.Transsfer,在第二個頁面上通PreviousPage.FindControl()到第一個頁面找控件

5、???????? 在第一個頁面上把按postbackUrl設(shè)置成第二個頁面,即把第一個頁面的數(shù)據(jù)提交到第二個頁面去理,然后在第二個頁面上通PreviousPage.FindControl()到第一個頁面找控件

?

ASP.NET 頁面之間傳遞值的幾種方式

?

使用變量

?

是一種非常簡單的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。如果是傳遞一個或多個安全性要求不高或是結(jié)構(gòu)簡單的數(shù)值時,可以使用這個方法。但是對于傳遞數(shù)組或?qū)ο蟮脑?#xff0c;就不能用這個方法了。下面是一個例子:

?

代碼

?

?

?

?

?

?

?

?

?

代碼

?

?

?

?

?

?

?

使用對象變量

?

對象的作用范圍是整個全局,也就是說對所有用戶都有效。其常用的方法用

?

代碼

?

?

?

?

?

?

?

?

代碼

?

?

?

?

?

?

?

?

?

?

使用變量

?

想必這個肯定是大家使用中最常見的用法了,其操作與類似,作用于用戶個人,所以,過量的存儲會導(dǎo)致服務(wù)器內(nèi)存資源的耗盡。

?

代碼

?

?

?

?

?

?

?

代碼

?

?

?

?

?

?

?

?

使用對象變量

?

這個也是大家常使用的方法,與一樣,其是什對每一個用戶而言的,但是有個本質(zhì)的區(qū)別,即是存放在客戶端的,而是存放在服務(wù)器端的。而且的使用要配合內(nèi)置對象來使用。

?

?

?

代碼

?

?

?

?

?

?

?

?

?

?

代碼

?

?

?

?

?

?

?

?

使用方法

?

這個才可以說是面象對象開發(fā)所使用的方法,其使用方法把流程從當前頁面引導(dǎo)到另一個頁面中,新的頁面使用前一個頁面的應(yīng)答流,所以這個方法是完全面象對象的,簡潔有效。

?

代碼

?

?

?

?

?

?

?

?

?

?

?

代碼

?

?

?

實例窗體

?

?

?

?

?

18.NET中有幾種頁面跳轉(zhuǎn)術(shù),有何區(qū)別

回答:有四種

1、???????? 使用<a>標記,效率最高

2、???????? Response.Redirect(),有一個回發(fā)的過程

3、???????? Server.Transfer()控制權(quán)不會回來

4、???????? Server.Execute() 執(zhí)行完頁面后控制權(quán)會回來再執(zhí)行本頁面

12可以跳到任何有效的路徑 ,34必須在同一個站點下,并且是aspx頁面才可以跳

轉(zhuǎn)載于:https://blog.51cto.com/arenzhj/537531

超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的C#面试知识点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。