版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο蟮乃枷胫饕裁???個(gè)人認(rèn)為一各程序語(yǔ)言要成為真切的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它一定符合以下條件:1抽象(abstraction)—抽象能夠有效地管理一個(gè)問題的復(fù)雜性,其作法是區(qū)分出與該問題有關(guān)的一組對(duì)象.2封裝(Encapsulation)—封裝是指將一個(gè)抽象的內(nèi)部實(shí)現(xiàn)隱蔽在特定的對(duì)象以內(nèi).3多態(tài)(polymorphism)—多態(tài)會(huì)供給相同方法的多種操作方法的多種操作實(shí)作.比方,不同的對(duì)象都會(huì)擁有一個(gè)Save方法,可是每一個(gè)Save方法會(huì)履行不一樣的操作.4繼承(inheritance)—VisualC#2005最令人愉悅之處就是其繼承特征.vc#2005則提供了真切的方法繼承,所以您能夠重復(fù)使用一個(gè)類的實(shí)例.什么是中的用戶控件自己著手作自己的控件來取代.NET供給的控件。這類控件就是用戶控件。后綴為.ascx什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強(qiáng)種類系統(tǒng)?什么是裝箱和拆箱?什么是重載?什么是多態(tài)?CTS、CLS和CLR分別作何解說?應(yīng)用程序域:應(yīng)用程序域(平常是AppDomain)是用于間隔應(yīng)用程序的虛假進(jìn)度。在同一個(gè)應(yīng)用程序作用域中創(chuàng)立的所有對(duì)象(換句話說,從該應(yīng)用程序的進(jìn)口點(diǎn)開始沿著對(duì)象激活序列的任何地方)都在同一個(gè)應(yīng)用程序域中創(chuàng)立。多個(gè)應(yīng)用程序域能夠存在于一個(gè)操作系統(tǒng)進(jìn)程中,使它們成為間隔應(yīng)用程序的簡(jiǎn)易方式。操作系統(tǒng)進(jìn)度經(jīng)過使用各不相同的內(nèi)存地點(diǎn)空間來供給間隔。盡管它是有效的,但也是代價(jià)昂貴的,并且不可以達(dá)到大型Web服務(wù)器所需要的數(shù)目。與其對(duì)比,公共語(yǔ)言運(yùn)轉(zhuǎn)時(shí)經(jīng)過管理在應(yīng)用程序域中運(yùn)轉(zhuǎn)的代碼的內(nèi)存使用來強(qiáng)迫進(jìn)行應(yīng)用程序間隔。這樣就保證它不會(huì)接見應(yīng)用程序域以外的內(nèi)存。需要注意的是,只有種類安全的代碼才能以這類方式管理(當(dāng)在應(yīng)用程序域中加載不安全代碼時(shí),運(yùn)轉(zhuǎn)時(shí)不可以保證間隔)。理解應(yīng)用程序域:應(yīng)用程序域是.NET運(yùn)轉(zhuǎn)庫(kù)的邏輯進(jìn)度表示,操作系統(tǒng)進(jìn)度能夠包含多個(gè)應(yīng)用程序域。應(yīng)用程序域擁有以下長(zhǎng)處:1、隱蔽了進(jìn)度詳盡的操作系統(tǒng)信息。從而同意把.NET放在不一樣的操作系統(tǒng)下。、供給了間隔。即便運(yùn)轉(zhuǎn)在同一個(gè)進(jìn)度中的屬于不一樣域的應(yīng)用程序也不可以直接共享全局?jǐn)?shù)據(jù)、靜態(tài)數(shù)據(jù)或其余資源。所以,一個(gè)應(yīng)用程序域失敗了,也不會(huì)影響到同一個(gè)進(jìn)度中的其余應(yīng)用程序域。、對(duì)于不需要昂貴的IPC系統(tǒng)的進(jìn)度,應(yīng)用程序域同意.NET運(yùn)轉(zhuǎn)庫(kù)優(yōu)化運(yùn)轉(zhuǎn)在這類進(jìn)度中的應(yīng)用程序間的通訊。因?yàn)閼?yīng)用程序域是被間隔的,所有.NET對(duì)象都會(huì)被界定在創(chuàng)立它的應(yīng)用程序域內(nèi)。假如跨應(yīng)用程序域的界限傳達(dá)對(duì)象引用,該被引用對(duì)象就被稱為遠(yuǎn)程對(duì)象。裝箱和拆箱在C#中的有兩各樣類的變量:值種類和引用種類。當(dāng)值種類和引用種類互相轉(zhuǎn)變時(shí),會(huì)發(fā)生裝箱和拆箱的過程。這里有一點(diǎn)要申明:經(jīng)過拆箱或裝箱的對(duì)象會(huì)多出它自己一份拷貝。它和它的拷貝不在一個(gè)儲(chǔ)存地區(qū)。這也是值種類和引用種類的差異所在。值種類老是在棧中,而引用種類總是在托管堆中。(目前也支持了裝箱和拆箱,可是我目前不知道能否和C#相同)。為了進(jìn)一步理解看下邊例子:structPoint{publicintx;publicinty;}staticvoidMain( ){Pointp;=10;=20;Objecto=p;將值種類從棧中拷貝到堆中。/************************************************************************/從托管堆中將對(duì)象拷貝到棧中。/************************************************************************/Pointp2=(Point)p;(“:="++
“
:=
“+;=16;=34;(“:="++
“
:=
“+;(“:="++
“
:=
“+;}輸出結(jié)果為::=10;=20;:=10;=20;:=16;=34;可知,變量經(jīng)過拆箱/裝箱后,獲取是自己的另一份拷貝。裝箱和撤消裝箱的看法是C#的種類系統(tǒng)的核心。它在“值種類”和“引用種類”之間的架起了一座橋梁,使得任何“值種類”的值都能夠變換為object種類的值,反過來變換也可以。裝箱和撤消裝箱使我們能夠一致地來觀察種類系統(tǒng),此中任何種類的值最后都能夠按對(duì)象處理多態(tài)一.形象理解兩條理解的原則:(1)一個(gè)派生類對(duì)象能夠被申明成一個(gè)基類,或許是一個(gè)基類指針能夠指向一個(gè)派生類對(duì)象:MainMainET聯(lián)合Java和COM解決方案二者長(zhǎng)處來解決互操作性問題。近似于
COM定義的標(biāo)準(zhǔn)二進(jìn)制格式,
.NET定義了一個(gè)稱為通用種類系統(tǒng)
CommonTypeSystem(CTS)的種類標(biāo)準(zhǔn)。這個(gè)類型系統(tǒng)不僅實(shí)現(xiàn)了
COM的變量兼容種類,并且還定義了經(jīng)過用戶自定義種類的方式來進(jìn)行種類擴(kuò)展。任何以
.NET平臺(tái)作為目標(biāo)的語(yǔ)言一定建立它的數(shù)據(jù)種類與
CTS的種類間的映照。所有.NET語(yǔ)言共享這一種類系統(tǒng),實(shí)現(xiàn)它們之間無縫的互操作。該方案還供給了語(yǔ)言之間的繼承性。比方,用戶能夠在中派生一個(gè)由C#編寫的類。很明顯,編程語(yǔ)言的差異不不過在于種類。比方,一些語(yǔ)言支持多繼承性,一些語(yǔ)言支持無符號(hào)數(shù)據(jù)種類,一些語(yǔ)言支持運(yùn)算符重載。用戶應(yīng)認(rèn)識(shí)到這一點(diǎn),所以.NET經(jīng)過定義公共語(yǔ)言規(guī)范(CLS:CommonLanguageSpecification)
,限制了由這些不一樣引起的互操作性問題。CLS擬定了一種以
.NET平臺(tái)為目標(biāo)的語(yǔ)言所一定支持的最小特色,
以及該語(yǔ)言與其余
.NET語(yǔ)言之間實(shí)現(xiàn)互操作性所需要的齊備特色。認(rèn)識(shí)到這點(diǎn)很重要,這里談?wù)摰奶厣珕栴}已不不過是語(yǔ)言間的簡(jiǎn)單語(yǔ)法差異。比方,CLS其實(shí)不去關(guān)懷一種語(yǔ)言用什么重點(diǎn)字實(shí)現(xiàn)繼承,不過關(guān)懷該語(yǔ)言如何支持繼承。CLS是CTS的一個(gè)子集。這就意味著一種語(yǔ)言特色可能符合CTS標(biāo)準(zhǔn),但又高出CLS的范圍。例如:C#支持無符號(hào)數(shù)字種類,該特色能經(jīng)過CTS的測(cè)試,但CLS卻不過鑒識(shí)符號(hào)數(shù)字種類。因此,假如用戶在一個(gè)組件中使用C#的無符號(hào)種類,即可能不可以與不使用無符號(hào)種類的語(yǔ)言(如設(shè)計(jì)的.NET組件實(shí)現(xiàn)互操作。這里用的是“可能不”,而不是“不可以能”,因?yàn)檫@一問題實(shí)際依靠于對(duì)non-CLS-compliant項(xiàng)的可見性。事實(shí)上,CLS規(guī)則只合用于或部分合用于那些與其余組件存在聯(lián)系的組件中的種類。實(shí)質(zhì)上,用戶能夠安全實(shí)現(xiàn)含私有組件的項(xiàng)目,而該組件使用了用戶所選擇使用的.NET語(yǔ)言的所有功能,且無需恪守CLS的規(guī)范。另一方面,假如用戶需要.NET語(yǔ)言的互操作性,那么用戶的組件中的公共項(xiàng)一定完好符合CLS規(guī)范。讓我們來看下邊的C#代碼:publicclassFoo{privateuintA=4;publicuintB=5;publiclongGetA( ){returnA;}}最后一個(gè)
C是公共語(yǔ)言運(yùn)轉(zhuǎn)庫(kù)
CommonLanguageRuntime(CLR)
。簡(jiǎn)單地說,
CLR是CTS的實(shí)現(xiàn),也就是說,
CLR是應(yīng)用程序的履行引擎和功能齊備的類庫(kù),該類庫(kù)嚴(yán)格依照
CTS規(guī)范實(shí)現(xiàn)。作為程序履行引擎,
CLR負(fù)責(zé)安全地載入和運(yùn)轉(zhuǎn)用戶程序代碼,
包含對(duì)不用對(duì)象的垃圾回收和安全檢查。在CLR監(jiān)控之下運(yùn)轉(zhuǎn)的代碼,稱為托管代碼(managedcode)。作為類庫(kù),CLR供給上百個(gè)可用的實(shí)用種類,而這些種類可經(jīng)過繼承進(jìn)行擴(kuò)展。對(duì)于文件I/O、創(chuàng)立對(duì)話框、啟動(dòng)線程等種類——基本上能使用WindowsAPI來達(dá)成的操作,都可由其達(dá)成。讓我們正確對(duì)待“3C”。開發(fā)人員在建立自己的分布式應(yīng)用程序時(shí),因?yàn)橛脩粼诰幊虝r(shí)將直接面對(duì)CLR,應(yīng)將主要精力放在學(xué)習(xí)認(rèn)識(shí)CLR上,而不是CTS和CLS。而對(duì)于希望以.NET平臺(tái)為目標(biāo)的語(yǔ)言和工具開發(fā)商來說,就需要深入理解CTS和CLS?;ゲ僮餍越M件是分布式應(yīng)用的關(guān)鍵,所以理解.NET如何經(jīng)過定義公共種類實(shí)現(xiàn)這一目標(biāo),也就顯得十分重要。列舉一下你所認(rèn)識(shí)的XML技術(shù)及其應(yīng)用值種類和引用種類的差異?寫出C#的樣例代碼Ref與Out的差異。Ref與Out的差異是相同點(diǎn):使參數(shù)按引用傳達(dá),注意這里的“引用”與我們平常說的“對(duì)象引用”不一樣樣,能夠形象的理解為,近似于C/C++中傳指針(地點(diǎn))。成效是,被調(diào)用方對(duì)該參數(shù)的改正會(huì)反應(yīng)到該變量中,即當(dāng)調(diào)用結(jié)束返回時(shí),調(diào)用方看到的是修悔過的值。3.方法定義和調(diào)用方法都一定顯式使用ref或許out重點(diǎn)字不一樣點(diǎn):1。傳達(dá)到ref的參數(shù)一定最初初始化,即由調(diào)用方顯式初始化。2。傳達(dá)到out的參數(shù)在傳達(dá)從前不需要顯式初始化,但需要調(diào)用方在方法返回從前一定對(duì)其賦值。使用途景:對(duì)于重載說明:1。ref和out重點(diǎn)字在運(yùn)轉(zhuǎn)時(shí)的辦理方式不一樣,但在編譯時(shí)的辦理方式相同。所以,假如一個(gè)方法采納ref參數(shù),而另一個(gè)方法采納out參數(shù),則沒法重載這兩個(gè)方法。2。可是,假如一個(gè)方法采納ref或out參數(shù),而另一個(gè)方法不采納這兩類參數(shù),則能夠進(jìn)行重載。使用ref前一定對(duì)變量賦值,out不用。out的函數(shù)會(huì)清空變量,即便變量已經(jīng)賦值也不可以,退出函數(shù)時(shí)所有out引用的變量都要賦值,ref引用的能夠改正,也能夠不改正。差異能夠參看下邊的代碼:usingSystem;classTestApp{staticvoidoutTest(outintx,outinty){Main何理解拜托?單從拜托的看法上來講,很簡(jiǎn)單,就是對(duì)方法的引用,包含靜態(tài)方法和對(duì)象實(shí)例的方法,有點(diǎn)類似C語(yǔ)言中的方法指針,可是方法指針只好引用靜態(tài)方法!并且拜托是類安全的!一句話來概括:拜托就是方法的進(jìn)口!調(diào)用拜托就是調(diào)用方法,可能有人會(huì)說既然調(diào)用拜托就是調(diào)用方法,那為何不直接調(diào)用方法了,干嗎非得經(jīng)過拜托來調(diào)用!一開始我也是這么想,包含此刻也還有這個(gè)迷惑,個(gè)人感覺,假如撇開事件來說,拜托除了匿名方法名稱以外,沒有詳盡實(shí)質(zhì)型的利處!意思就是說我們假如不是在事件里用拜托,和直接調(diào)用方法是沒有實(shí)質(zhì)區(qū)其余!至于拜托的申明格式,其基本語(yǔ)法為:修飾符delegate返回種類代理名稱(參數(shù)列表)比方說publicdelegatevoidMyDelegate(inti);實(shí)例化的時(shí)候給它賦值一個(gè)方法(實(shí)例或靜態(tài)方法)名就能夠了MyDelegateMD=newMyDelegate(類中的方法名)拜托還可以夠?qū)崿F(xiàn)多重拜托,能夠用Combine方法講不一樣代理組在一同,也能夠用Remove方法從多重代理中除掉一個(gè)代理,可是在我們實(shí)質(zhì)使用能夠不需要這么麻煩,用+,-能夠達(dá)到這個(gè)目的!比方說:MyDelegateMD=newMyDelegate(方法1);MyDelegateMD2=newMyDelegate(方法2);MyDelegateMD3=MD+MD2;也能夠這么寫MyDelegateMD3+=newMyDelegate(方法1);MyDelegateMD3+=newMyDelegate(方法2);履行代理MD3就是調(diào)用方法1和方法2;多重代理個(gè)人感覺在事件拜托頂用途很大,因?yàn)樵趯?shí)質(zhì)對(duì)象中,一個(gè)方法履行會(huì)觸發(fā)多個(gè)方法接踵履行,這個(gè)時(shí)候會(huì)需要多重代理這個(gè)看法!使用多重代理的時(shí)候要注意方法返回種類一定是void種類的!PS:在代理類中有
2個(gè)屬性
,一個(gè)是
Method,表示所應(yīng)用方法的名稱
!另一個(gè)是
Target,
表示實(shí)例方法所在對(duì)象的種類
,假如是靜態(tài)方法
,則返回NULL事件(Event)正如我上邊說的那樣,假如撇開事件,拜托憂如沒有多大用途,但也不過假定,拜托就是為事件服務(wù)的,二者是分不開的.言事件比言拜托!在C#中,事件和屬性,方法相同,是類的一種成員,經(jīng)過事件的使用,能夠在類的對(duì)象發(fā)生某種變化,經(jīng)過事件,來觸發(fā)某些方法來辦理事件的發(fā)生!舉個(gè)平常的例子,在的窗體生成種,拖進(jìn)來一個(gè)按鈕,雙擊它,頁(yè)面后臺(tái)會(huì)自動(dòng)生成按鈕事件的方法名稱
,編程人員只需在該方法體內(nèi)寫上詳盡方法即可
!
那么按鈕類里面是怎么實(shí)現(xiàn)的了
?詳盡是這樣的
,在按鈕類里面聲了然一個(gè)事件拜托
:publicenvetEventHandlerClick;并寫了一個(gè)觸發(fā)該事件的方法
:protectedvirtualvoidOnClick(EventArgese){if(Click!=Null){Click(this,e)}}而什么時(shí)候調(diào)用上邊這個(gè)方法,依據(jù)程序結(jié)構(gòu)種類不一樣而異,在WEB應(yīng)用程序中,是經(jīng)過回傳事件接口來調(diào)用上邊這個(gè)方法,在按鈕類里不過實(shí)現(xiàn)了事件拜托,詳盡雙擊按鈕觸發(fā)的實(shí)質(zhì)方法是在頁(yè)面程序里編寫的!(PS:所以這也是我認(rèn)為使用事件拜托的最大利處,靈巧行好,靈巧,假如不用拜托,而是直接調(diào)用方法,那么所調(diào)用的方法就固定死了,不利于實(shí)質(zhì)面向?qū)ο缶幊讨谐霈F(xiàn)的未預(yù)型方法,不靈巧了)在頁(yè)面程序?yàn)榘粹o綁定事件拜托所引用的方法是開發(fā)環(huán)境自動(dòng)幫我們達(dá)成的,但我們要清楚實(shí)現(xiàn)的必需步驟
:在頁(yè)面程序里一定給按鈕的事件實(shí)例化方法
,在的頁(yè)面代碼中的
privatevoidInitializeComponent( )
里要寫上
:+=new;
明事件拜托
;觸發(fā)事件的方法;實(shí)例化事件拜托(給拜托增添引用方法)msdn2005中是這樣解說的:拜托擁有以下特色:拜托近似于C++函數(shù)指針,但它是種類安全的。拜托同意將方法作為參數(shù)進(jìn)行傳達(dá)。拜托可用于定義回調(diào)方法。拜托能夠鏈接在一同;比方,能夠?qū)σ粋€(gè)事件調(diào)用多個(gè)方法。方法不需要與拜托署名精準(zhǔn)般配。有關(guān)更多信息,請(qǐng)拜見協(xié)變和逆變。C#版引入了匿名方法的看法,此類方法同意將代碼塊作為參數(shù)傳達(dá),以取代獨(dú)自定義的方法。拜托合用于那種在某些其余語(yǔ)言中需用函數(shù)指針來解決的狀況(場(chǎng)合)。可是,與函數(shù)指針不一樣,拜托是面向?qū)ο蠛头N類安全的。拜托申明定義一個(gè)類,它是從類派生的類。拜托實(shí)例封裝了一個(gè)調(diào)用列表,該列表列出了一個(gè)或多個(gè)方法,每個(gè)方法稱為一個(gè)可調(diào)用實(shí)體。對(duì)于實(shí)例方法,可調(diào)用實(shí)體由一個(gè)實(shí)例和該實(shí)例的方法構(gòu)成。對(duì)于靜態(tài)方法,可調(diào)用實(shí)體僅由一個(gè)方法構(gòu)成。假如用一組適合的參數(shù)來調(diào)用一個(gè)拜托實(shí)例,則該拜托實(shí)例所封裝的每個(gè)可調(diào)用實(shí)體都會(huì)被調(diào)用,并且用的都是上述的同一組參數(shù)。拜托實(shí)例的一個(gè)風(fēng)趣且實(shí)用的屬性是:它既不知道也不關(guān)懷有關(guān)它所封裝的方法所屬的類的種種詳情;對(duì)它來說最重要的是這些方法與該拜托的種類兼容(第節(jié))。這使拜托特別適合“匿名”調(diào)用。這是一個(gè)強(qiáng)盛的功能。定義和使用拜托分三個(gè)步驟:申明、實(shí)例化和調(diào)用。#中的接口和類有什么異同。一個(gè)接口定義一個(gè)協(xié)議。實(shí)現(xiàn)接口的類或結(jié)構(gòu)一定恪守其協(xié)議。接口能夠包含方法、屬性、索引器和事件作為成員。接口是負(fù)責(zé)功能的定義,項(xiàng)目中經(jīng)過接口來規(guī)范類,操作類以及抽象類的看法!而類是負(fù)責(zé)功能的詳盡實(shí)現(xiàn)!在類中也有抽象類的定義,抽象類與接口的差異在于:抽象類是一個(gè)不完好的類,類里面有抽象的方法,屬性,也能夠有詳盡的方法和屬性,需要進(jìn)一步的專業(yè)化。但接口是一個(gè)行為的規(guī)范,里面的所有東西都是抽象的!一個(gè)類只好夠繼承一個(gè)基類也就是父類,但能夠?qū)崿F(xiàn)多個(gè)接口PS:接口除了規(guī)范一個(gè)行為以外,在詳盡項(xiàng)目中的實(shí)質(zhì)作用也是十分重要的,在面向?qū)ο蟮脑O(shè)計(jì)原則以及設(shè)計(jì)模式的使用中,無不表現(xiàn)作為一個(gè)接口的使用利處,最直接的就是設(shè)計(jì)原則中OCP(開放封閉原則),我們使用接口,而不需要關(guān)懷他的詳盡實(shí)現(xiàn),詳盡實(shí)現(xiàn)的細(xì)節(jié)變化也沒關(guān)客戶端(使用接口的類)的使用,對(duì)與擴(kuò)展是開放的,我們能夠另寫一個(gè)接口的實(shí)現(xiàn)來擴(kuò)展目前途序,而不影響上層的使用,但對(duì)改正是封閉的,即我們不可以夠再去改正接口的定義,自然這個(gè)“不能夠”是指在規(guī)范原則上不該當(dāng)這么做!。net中讀寫數(shù)據(jù)庫(kù)需要用到哪些類?他們的作用連結(jié)和TCP連結(jié)的異同。的身份考證方式有哪些?分別是什么原理?進(jìn)度和線程分別怎么理解?簡(jiǎn)單的說,你每啟動(dòng)一個(gè)程序,就啟動(dòng)了一個(gè)進(jìn)度。在Windows下,進(jìn)度是最小運(yùn)轉(zhuǎn)單位。在Windows95/NT下,每個(gè)進(jìn)度還可以夠啟動(dòng)幾個(gè)線程,比方每下載一個(gè)文件能夠獨(dú)自開一個(gè)線程。在Windows95/NT下,線程是最小單位。WINDOWS的多任務(wù)特征使得線程之間獨(dú)立運(yùn)行,可是它們相互共享虛假空間,也就是共用變量,線程有可能會(huì)同時(shí)操作一片內(nèi)存。線程與進(jìn)度的差異多線程共存于應(yīng)用程序中是現(xiàn)代操作系統(tǒng)中的基本特色和重要標(biāo)記。用過UNIX操作系統(tǒng)的讀者知道進(jìn)度,在UNIX操作系統(tǒng)中,每個(gè)應(yīng)用程序的履行都在操作系統(tǒng)內(nèi)核中登記一個(gè)進(jìn)度標(biāo)記,操作系統(tǒng)依據(jù)分派的標(biāo)記對(duì)應(yīng)用程序的履行進(jìn)行調(diào)動(dòng)和系統(tǒng)資源分派,但進(jìn)度和線程有什么差異呢?進(jìn)度和線程都是由操作系統(tǒng)所領(lǐng)會(huì)的程序運(yùn)轉(zhuǎn)的基本單元,系統(tǒng)利用該基本單元實(shí)現(xiàn)系統(tǒng)對(duì)應(yīng)用的并發(fā)性。進(jìn)度和線程的差異在于:線程的區(qū)分尺度小于進(jìn)度,使得多線程程序的并發(fā)性搞。其余,進(jìn)度在履行過程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存,從而極大地提升了程序的運(yùn)轉(zhuǎn)效率。線程在履行過程中與進(jìn)度還是有區(qū)其余。每個(gè)獨(dú)立的線程有一個(gè)程序運(yùn)轉(zhuǎn)的進(jìn)口、次序履行序列和程序的出口什么是code-Behind技術(shù)?;顒?dòng)目錄的作用。中讀寫XML的類都?xì)w屬于哪些命名空間?解說一下UDDI、WSDL的意義及其作用。什么是SOAP,有哪些應(yīng)用。答:SOAP(SimpleObjectAccessProtocol)簡(jiǎn)單對(duì)象接見協(xié)議是在分別或分布式的環(huán)境中互換信息并履行遠(yuǎn)程過程調(diào)用的協(xié)議,是一個(gè)鑒于XML的協(xié)議。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)議),能夠同意任何種類的對(duì)象或代碼,在任何平臺(tái)上,以任何向來語(yǔ)言互相通訊。這類互相通訊采納的是XML格式的信息,詳盡請(qǐng)看如何部署一個(gè)頁(yè)面。如何理解中的垃圾回收系統(tǒng)。常用的調(diào)用webservice方法有哪些?與abstraction差異?結(jié)構(gòu)與類有何差異?哪些時(shí)候比較適合使用結(jié)構(gòu)和類?它們的相同之處:1,二者都是Container種類,這表示它們能夠包含其余數(shù)據(jù)種類作為成員.2,二者都擁有成員,這些成員包含:結(jié)構(gòu)函數(shù),方法,屬性,字段,常量,列舉種類,事件,以及事件辦理函數(shù).3,二者的成員都有其各自的存取范圍.比方,您能夠?qū)⒛骋粋€(gè)成員申明為Public,而將其余一人成員申明為Private4,二者都能夠?qū)崿F(xiàn)接口.5,二者都能夠公然一個(gè)默認(rèn)屬性,可是前提是這個(gè)屬性最少要獲得一個(gè)自變量.6,二者都能夠申明和觸發(fā)事件,并且二者都能夠申明拜托(Delegate).7,結(jié)構(gòu)與類都能夠完好部是空的.它們的不一樣之處以下:1,結(jié)構(gòu)是實(shí)值種類(ValueTypes),而類是引用種類(ReferenceTypes).2,結(jié)構(gòu)使用載儲(chǔ)存(StackAllocation),而類使用堆儲(chǔ)存(HeapAllocation).3,所有結(jié)構(gòu)成員默認(rèn)都是Public,而類的變量與常量數(shù)則默認(rèn)為(Private,可是其余類成員默認(rèn)都是Public.4,結(jié)構(gòu)成員國(guó)不可以被申明為Protected,可是類成員能夠這樣做.5,結(jié)構(gòu)變量申明不可以指定初始值,使用new重點(diǎn)字詞或?qū)?shù)組進(jìn)行初始化,但類變量申明則可以這樣做.6,結(jié)構(gòu)不可以申明默認(rèn)的結(jié)構(gòu)函數(shù),也就是不擁有參數(shù)的非共享結(jié)構(gòu)函數(shù),可是類則無此限制.7,二者都能夠擁有共享結(jié)構(gòu)函數(shù),結(jié)構(gòu)的共享結(jié)構(gòu)函數(shù)不可以帶有參數(shù),但類的共享結(jié)構(gòu)函數(shù)則能夠帶或許不帶參數(shù).8,結(jié)構(gòu)不一樣意申明析構(gòu)函數(shù)(Destructor),類則無此限制.9,結(jié)構(gòu)的實(shí)例(Instance)申明,不一樣意對(duì)包含的變量進(jìn)行初始化設(shè)定,類則能夠在申明類的實(shí)例時(shí),同時(shí)進(jìn)行變量初始化.10,結(jié)構(gòu)是隱式繼承自ValueType類并且不可以繼承任何其余的種類,類則能夠繼承來自ValueType以外的任何類.11,結(jié)構(gòu)是沒法被繼承的,類則能夠被繼承.12,結(jié)構(gòu)永久不會(huì)停止,所以CommonLanguageRuntime(CLR)不會(huì)在任何結(jié)構(gòu)上浮用Finalize
方法.類則是由內(nèi)存回收進(jìn)度加以停止
,當(dāng)內(nèi)存回收進(jìn)度檢測(cè)到?jīng)]有任何作用的類時(shí),它就會(huì)調(diào)用類的
Finalize
方法.13,
結(jié)構(gòu)不需要結(jié)構(gòu)函數(shù)
,類則需要結(jié)構(gòu)函數(shù)
.14,
結(jié)構(gòu)只好在一種狀況下使用非共享結(jié)構(gòu)函數(shù)
,那就是非共享結(jié)構(gòu)函數(shù)會(huì)接收參數(shù)
:可是類則無此限制
,它能夠使用帶參數(shù)或不帶參數(shù)的非共享結(jié)構(gòu)函數(shù)
.15,每一個(gè)結(jié)構(gòu)都擁有無參數(shù)的隱含公共結(jié)構(gòu)函數(shù).此結(jié)構(gòu)函數(shù)會(huì)將結(jié)構(gòu)的所有成員初始化為基默認(rèn)值.您不可以從頭定義這個(gè)行為.除了上述的相像處與相異點(diǎn)以外,我們還可以夠在”實(shí)例與變量”層面上來商討結(jié)構(gòu)與類.因?yàn)榻Y(jié)構(gòu)是數(shù)值種類的,所以每個(gè)結(jié)構(gòu)變量會(huì)永久地綁定到結(jié)構(gòu)實(shí)例上.可是類是引用種類的,并且對(duì)象變量可引用不一樣的類實(shí)例.在此方面的差異,會(huì)對(duì)于使用結(jié)構(gòu)與類造成以下影響:1結(jié)構(gòu)變量會(huì)隱式地使用結(jié)構(gòu)的無參數(shù)結(jié)構(gòu)函數(shù)來初始化成員,這就意味著,語(yǔ)句StructlS就等于StructlS=newStructl( );2當(dāng)您好將一個(gè)結(jié)構(gòu)變量賦值給另一個(gè),或是將結(jié)構(gòu)實(shí)例傳達(dá)到程序變量時(shí),所有變量成員的值會(huì)復(fù)制到新的結(jié)構(gòu)中.當(dāng)您將一個(gè)對(duì)象變量賦值給另一個(gè),或是將對(duì)象變量傳達(dá)到程序時(shí),則只會(huì)復(fù)制指針.3,您能夠?qū)ull值賦值給結(jié)構(gòu)變量,可是該實(shí)例會(huì)向來與該變量保持關(guān)系.固然變量成員會(huì)所以賦值而從頭初始化,可是您還是能夠調(diào)用變量的方法并接見其數(shù)據(jù)成員.相反地,假如您將對(duì)象變量設(shè)定為Null,您就會(huì)中斷它與任何類實(shí)例的關(guān)系,并且除非您再將其余一個(gè)實(shí)例賦值給它,不然沒法經(jīng)過變量接見任何成員.4,您能夠在不一樣時(shí)間將不一樣的類的實(shí)例賦值給同一個(gè)對(duì)象變量,并且在同一時(shí)間能夠有好幾個(gè)對(duì)象變量引用相同的類實(shí)例,假如您對(duì)類成員值做了改變,則其余指向相同實(shí)例的對(duì)象變量也會(huì)發(fā)生改變.可是,結(jié)構(gòu)成員則會(huì)封裝在它們自己的實(shí)例中,更改結(jié)構(gòu)成員值其實(shí)不會(huì)對(duì)其余任何結(jié)構(gòu)變量的成員造成影響,甚至也不會(huì)影響相同Struct申明的其余實(shí)例.5,兩個(gè)結(jié)構(gòu)一定以成員對(duì)成員的比較方式來履行相等比較.兩個(gè)對(duì)象變量能夠使用Equals方法來加以比較.Equals會(huì)判斷兩個(gè)變量能否指向相同的實(shí)例.在以下狀況中,比較適合使用結(jié)構(gòu)1,您擁有少許數(shù)據(jù)并且希望使用會(huì)傳達(dá)的方式來為變量賦值時(shí).2您會(huì)在每一個(gè)實(shí)例上履行大批的操作,并且若使用堆來管搭理造成性能降落.3,您不需要進(jìn)行繼承,并且不需要實(shí)例有特別性.4,您不會(huì)采納Boxing與Unboxing結(jié)構(gòu).5,您會(huì)在Managed與UnManaged程序代碼之間傳達(dá)Blittable數(shù)據(jù).在以下狀況中,比較適合使用類:1,您需要使用繼承與多態(tài).2,您需要在創(chuàng)立階段初始化一個(gè)或多個(gè)成員.3,您需要供給一個(gè)非參數(shù)型的結(jié)構(gòu)函數(shù).4,您需要沒有任何限制的事件辦理支持.23.說說你對(duì)二維樹的理解?24.如何把一個(gè)array復(fù)制到arrayList里foreach(objectoinarray)(o);能夠連結(jié)什么數(shù)據(jù)源[dataset,datatable,dataview]dataset,datatable,dataview,IList26.概括反射和序列化反射:程序集包含模塊,而模塊包含種類,種類又包含成員。反射則供給了封裝程序集、模塊和種類的對(duì)象。您能夠使用反射動(dòng)向地創(chuàng)立種類的實(shí)例,將種類綁定到現(xiàn)有對(duì)象,或從現(xiàn)有對(duì)象中獲取種類。而后,能夠調(diào)用種類的方法或接見其字段和屬性序列化:序列化是將對(duì)象變換為簡(jiǎn)單傳輸?shù)母袷降倪^程。比方,能夠序列化一個(gè)對(duì)象,而后使用HTTP經(jīng)過Internet在客戶端和服務(wù)器之間傳輸該對(duì)象。在另一端,反序列化將從該流從頭結(jié)構(gòu)對(duì)象。27.概括o/rmapping的原理利用反射,配置將類于數(shù)據(jù)庫(kù)表映照28.類成員有( )種可接見形式可接見形式?不懂。可接見性:public,protected,private,internal29.用sealed修飾的類有什么特色sealed修飾符用于防范從所修飾的類派生出其余類。假如一個(gè)密封類被指定為其余類的基類,則會(huì)發(fā)生編譯時(shí)錯(cuò)誤。密封類不可以同時(shí)為抽象類。sealed修飾符主要用于防范非存心的派生,可是它還可以促進(jìn)某些運(yùn)轉(zhuǎn)時(shí)優(yōu)化。具體說來,因?yàn)槊芊忸愑谰貌粫?huì)有任何派生類,所以對(duì)密封類的實(shí)例的虛假函數(shù)成員的調(diào)用能夠變換為非虛假調(diào)用來辦理。#中,stringstr=null與stringstr="",請(qǐng)盡量用文字說明差異。(重點(diǎn):說明詳盡的內(nèi)存空間分派)概括三層結(jié)構(gòu)系統(tǒng)如何實(shí)現(xiàn)MVC模式,舉例說明!。net中讀寫數(shù)據(jù)庫(kù)需要用到哪些類?他們的作用的身份考證方式有哪些?分別是什么原理?Remoting與webservices差異?36.C#能否對(duì)內(nèi)存進(jìn)行直接的操作37:您在什么狀況下會(huì)用到虛方法?它與接口有什么不一樣?38:Override與重載有什么差異?39:值種類與引用種類有什么差異?40:如何理解靜態(tài)變量?41:向服務(wù)器發(fā)送懇求有幾種方式?42:DataReader與DataSet有什么差異?43:假如在一個(gè)B/S結(jié)構(gòu)的系統(tǒng)中需要傳達(dá)變量值,可是又不可以使用Session、Cookie、Application,您有幾種方法進(jìn)行辦理?使用這個(gè)方法對(duì)比上邊介紹的方法略微復(fù)雜一點(diǎn),但在頁(yè)面間值傳達(dá)中倒是特別實(shí)用的,使用該方法你能夠在另一個(gè)頁(yè)面以對(duì)象屬性的方式來存取顯現(xiàn)的值,自然了,使用這類方法,你需要額外寫一些代碼以創(chuàng)立一些屬性以便能夠在另一個(gè)頁(yè)面接見它,可是,這個(gè)方式帶來的利處也是顯而易見的。整體來說,使用這類方法是簡(jiǎn)短的同時(shí)又是面向?qū)ο蟮?。使用這類方法的整個(gè)過程如下:1,在頁(yè)面里增添必需的控件2,創(chuàng)立返回值的Get屬性過程3,創(chuàng)立能夠返回表單的按鈕和鏈接按鈕4,在按鈕單擊事件辦理程序中調(diào)用方法轉(zhuǎn)移到指定的頁(yè)面5,在第二個(gè)頁(yè)面中,我們就能夠使用屬性來獲取前一個(gè)頁(yè)面實(shí)例對(duì)象的引用,經(jīng)過它,即可以使用存取前一個(gè)頁(yè)面的控件的值了以下代碼綜合實(shí)現(xiàn)上述步驟過程的代碼:源頁(yè)面代碼:把以下的代碼增添到頁(yè)面中publicstringName{get{return;}}publicstringEMail{get{return;}}而后調(diào)用方法privatevoidButton1_Click(objectsender,e){("";}目標(biāo)頁(yè)面代碼:privatevoidPage_Load(objectsender,e){oString( );or"sum"].ToString( );"sum"];方法3:全局變量發(fā)送頁(yè):Application["sum"]=("";接收頁(yè):"sum"];Application實(shí)質(zhì)上是整個(gè)虛假目錄中所有文件的會(huì)合,假如想在整個(gè)應(yīng)用范圍內(nèi)使用某個(gè)變量值,Application對(duì)象將是最正確的選擇在這里用Session[""]的方法相同方法4:發(fā)送頁(yè):1.定義靜態(tài)變量:publicstaticstringstr="";2.str=
("";接收頁(yè):1.引入第一頁(yè)的命名空間:usingWebApplication1;244:軟件開發(fā)過程一般有幾個(gè)階段?每個(gè)階段的作用?45:微軟推出了一系列的ApplicationBlock,請(qǐng)舉出您所知道的ApplicationBlock并說明其作用?46:請(qǐng)列舉一些您用到過的設(shè)計(jì)模式以及在什么狀況下使用該模式?47:您對(duì)WebService的領(lǐng)會(huì)?以下幾道題目假如您不會(huì),請(qǐng)較為詳盡的描繪您的解決思路和方法48:經(jīng)過超鏈接如何傳達(dá)中文參數(shù)?49:請(qǐng)編程遍歷頁(yè)面上所有TextBox控件并給它賦值為?50:請(qǐng)編程實(shí)現(xiàn)一個(gè)冒泡排序算法?下邊這段代碼輸出什么?為何?inti=5;intj=5;if(i,j))("Equal");else("NotEqual");對(duì)于這樣的一個(gè)列舉種類:enumColor:byte{Red,Green,Blue,Orange}string[]ss=(typeof(Color));byte[]bb=(typeof(Color));試寫一段程序顯示出列舉種類中定義的所有符號(hào)名稱以及它們對(duì)應(yīng)的數(shù)值。一個(gè)長(zhǎng)度為10000的字符串,經(jīng)過隨機(jī)從a-z中抽取10000個(gè)字符構(gòu)成。請(qǐng)用c#語(yǔ)言編寫主要程序來實(shí)現(xiàn)。54.在c#中
using
和new這兩個(gè)重點(diǎn)字有什么意義,
請(qǐng)寫出你所知道的意義?
using
指令和語(yǔ)句
new
創(chuàng)立實(shí)例
new
隱蔽基類中方法55下邊這段代碼有錯(cuò)誤么?switch(i){case( ):CaseZero( );break;case1:CaseOne( );break;case2:dufault;面的代碼中有什么錯(cuò)誤嗎?_______usingSystem;classA{publicvirtualvoidF( ){("");}}abstractclassB:A{publicabstractoverridevoidF( );整數(shù)a賦值給一個(gè)object對(duì)象時(shí),整數(shù)a將會(huì)被__裝箱(封裝)___?3.類成員有
_____種可接見形式?
this.;newClass( ).Method;staticconstintA=1;
這段代碼有錯(cuò)誤么?是什么?
const
不可以用
static
修飾f=-123.567F;inti=(int)f;i的值此刻是_____?1236.利用operator申明且僅聲了然“==”,有什么錯(cuò)誤么?拜托申明的重點(diǎn)字是______?delagete用sealed修飾的類有什么特色?密封,不可以繼承在中所有的自定義用戶控件都一定繼承自________?Control10.在.Net中所有可序列化的類都被標(biāo)記為_____?11.在.Net托管代碼中我們不用擔(dān)憂內(nèi)存漏洞,這是因?yàn)橛辛薩_____?gc1.有哪幾種方法能夠?qū)崿F(xiàn)一個(gè)類存取其余一個(gè)類的成員函數(shù)及屬性,并請(qǐng)舉列來加以說明和分析.假如需記錄類的實(shí)例個(gè)數(shù),該如何實(shí)現(xiàn),請(qǐng)寫一個(gè)簡(jiǎn)單的類于以證明.類是B類的基類
,并且都有自己的結(jié)構(gòu)
,析構(gòu)函數(shù)
,請(qǐng)舉例證明
B類從實(shí)例化到消亡過程中結(jié)構(gòu)
,析構(gòu)函數(shù)的履行過程
.4.需要實(shí)現(xiàn)對(duì)一個(gè)字符串的辦理,第一將該字符串首尾的空格去掉,假如字符串中間還有連續(xù)空格的話,僅保存一個(gè)空格,即同意字符串中間有多個(gè)空格,但連續(xù)的空格數(shù)不可以超出一個(gè).2、的錯(cuò)誤辦理系統(tǒng)是什么數(shù)據(jù)庫(kù)方面:儲(chǔ)存過程和函數(shù)的差異事務(wù)是什么?游標(biāo)的作用?如何知道游標(biāo)已經(jīng)到了最后?觸發(fā)器分為事先觸發(fā)和過后觸發(fā),這兩種觸發(fā)有和差異。語(yǔ)句級(jí)觸發(fā)和行級(jí)觸發(fā)有何差異。1。用C#實(shí)現(xiàn)以下功能a產(chǎn)生一個(gè)int數(shù)組,長(zhǎng)度為100,并向此中隨機(jī)插入1-100,并且不可以重復(fù)。int[]intArr=newint[100];ArrayListmyList=newArrayList( );Randomrnd=newRandom( );while<100){intnum=(1,101);if(!(num))(num);}for(inti=0;i<100;i++)intArr[i]=(int)myList[i];對(duì)上邊生成的數(shù)組排序,需要支持升序、降序兩種次序2。請(qǐng)說明在中常用的幾種頁(yè)面間傳達(dá)參數(shù)的方法,并說出他們的優(yōu)弊端。session(viewstate)簡(jiǎn)單,但易拋棄application全局cookie簡(jiǎn)單,但可能不支持,可能被假造inputttype="hidden"簡(jiǎn)單,可能被假造url參數(shù)簡(jiǎn)單,顯示于地點(diǎn)欄,長(zhǎng)度有限數(shù)據(jù)庫(kù)穩(wěn)固,安全,但性能相對(duì)弱3。請(qǐng)說明中的錯(cuò)誤辦理系統(tǒng),并舉例trycatchfinal4。請(qǐng)說出強(qiáng)名的含義擁有自己的key,能夠在GAC(全局程序集緩存)為公用5。請(qǐng)列出c#中幾種循環(huán)的方法,并指出他們的不一樣forwileforeach6。請(qǐng)指出中所有種類的基類object7。請(qǐng)指出GAC的含義8。SQLSREVER中,向一個(gè)表中插入了新數(shù)據(jù),如何快捷的獲取自增量字段的目前值試卷1.填空:(1)面向?qū)ο蟮恼Z(yǔ)言擁有________性、_________性、________性。(2)能用foreach遍歷接見的對(duì)象需要實(shí)現(xiàn)________________接口或申明________________方法的種類。列舉中的五個(gè)主要對(duì)象_______________、_____________、_______________、_______________、_________________。Connection,Command,DataReader,DataAdapter,DataSetconnection連結(jié)對(duì)象command命令對(duì)象,指示要履行的命令和儲(chǔ)存過程!datareader是一個(gè)向前的只讀的數(shù)據(jù)流。dataadapter是功能強(qiáng)盛的適陪器,支持增修改查的功能dataset是一個(gè)數(shù)據(jù)級(jí)對(duì)象,相當(dāng)與內(nèi)存中的一張表或多張表!不定項(xiàng)選擇:以下表達(dá)正確的選項(xiàng)是:A.接口中能夠有虛方法。B.一個(gè)類能夠?qū)崿F(xiàn)多個(gè)接口。C.接口不可以被實(shí)例化。D.接口中能夠包含已實(shí)現(xiàn)的方法。從數(shù)據(jù)庫(kù)讀取記錄,你可能用到的方法有:A.ExecuteNonQueryB.ExecuteScalarC.FillD.ExecuteReader3.簡(jiǎn)述private、protected、public、internal修飾符的接見權(quán)限。4.寫出一條Sql語(yǔ)句:拿出表A中第31到第40記錄(SQLServer,以自動(dòng)增加的ID作為主鍵,注意:ID可能不是連續(xù)的。)5.列舉頁(yè)面之間傳達(dá)值的幾種方式。寫出程序的輸出結(jié)果classClass1{privatestringstr="";privateinti=0;staticvoidStringConvert(stringstr){str="stringbeingconverted.";}staticvoidStringConvert(Class1c){="stringbeingconverted.";}staticvoidAdd(inti){i++;}staticvoidAddWithRef(refinti){i++;}staticvoidMain( ){inti1=10;inti2=20;stringstr="str";Class1c=newClass1( );Add(i1);AddWithRef(refi2);Add;StringConvert(str);StringConvert(c);(i1);(i2);;(str);;}}寫出程序的輸出結(jié)果publicabstractclassA{publicA( ){('A');}publicvirtualvoidFun( ){("( )");}}publicclassB:A{publicB( ){('B');}publicnewvoidFun( ){("( )");}publicstaticvoidMain( ){Aa=newB( );( );}}寫出程序的輸出結(jié)果:publicclassA{publicvirtualvoidFun1(inti){(i);}publicvoidFun2(Aa){(1);Fun1(5);}}publicclassB:A{publicoverridevoidFun1(inti){(i+1);}publicstaticvoidMain( ){Bb=newB( );Aa=newA( );(b);(a);}}一列數(shù)的規(guī)則以下:1、1、2、3、5、8、13、21、34求第30位數(shù)是多少,用遞歸算法實(shí)現(xiàn)。(C#語(yǔ)言)10.程序設(shè)計(jì):貓大喊一聲,所有的老鼠都開始逃跑,主人被驚醒。(C#語(yǔ)言)要求:1.要有聯(lián)動(dòng)性,老鼠和主人的行為是被動(dòng)的??紤]可擴(kuò)展性,貓的喊聲可能惹起其余聯(lián)動(dòng)效應(yīng)。參照答案:(1)繼承性、封裝性、多態(tài)性。(考基本看法)(2)IEnumerable、GetEnumerator(對(duì)foreach系統(tǒng)的理解,原來不想出這題的,湊分)...(送分題,對(duì)的認(rèn)識(shí))評(píng)分標(biāo)準(zhǔn):一空1分,滿分10分。2.(1)B、C(考對(duì)接口的理解)(2)B、C、D(觀察對(duì)的嫻熟程度評(píng)分標(biāo)準(zhǔn):一題5分,不選或許錯(cuò)選均不得分。漏選得2分。滿分
)10分。3..private:
私有成員
,
在類的內(nèi)部才能夠接見。protected:
保護(hù)成員,該類內(nèi)部和繼承類中能夠接見。public:
公共成員,完好公然,沒有接見限制。internal:
在同一命名空間內(nèi)能夠接見。評(píng)分標(biāo)準(zhǔn):答對(duì)
1題2分,2題5分,3題7分。全對(duì)
10分。
(
送分題
)解1:selecttop10*fromAwhereidnotin(selecttop30idfromA)解2:selecttop10*fromAwhereid>(selectmax(id)from(selecttop30idfromA)asA)評(píng)分標(biāo)準(zhǔn):寫對(duì)即10分。(答案不獨(dú)一,datagrid分頁(yè)可能需要用到)1.使用QueryString,如?id=1;response.Redirect( )使用Session變量使用等等評(píng)分標(biāo)準(zhǔn):答對(duì)1點(diǎn)得3分,兩點(diǎn)7分,3點(diǎn)10分。(觀察值引用和對(duì)象引用)strstringbeingconverted.評(píng)分標(biāo)準(zhǔn):答對(duì)一點(diǎn)得2分,滿分10分。AB( )評(píng)分標(biāo)準(zhǔn):寫出得5分,寫出( )得5分,滿分10分。(觀察在繼承類中結(jié)構(gòu)函數(shù),以及new方法,)2516評(píng)分標(biāo)準(zhǔn):答對(duì)一點(diǎn)得2分,兩點(diǎn)得5分,3點(diǎn)得7分。全對(duì)得10分。(一些人做這題,頭都暈了^_^)9.publicclassMainClass{publicstaticvoidMain( ){(Foo(30));}publicstaticintFoo(inti){if(i<=0)return0;elseif(i>0&&i<=2)return1;elsereturnFoo(i-1)+Foo(i-2);}}評(píng)分標(biāo)準(zhǔn):寫出returnFoo(i-1)+Foo(i-2);得5分。寫出if(i>0&&i<=2)return1;得5分。方法參數(shù)過多需要扣分(扣除分?jǐn)?shù)=參數(shù)個(gè)數(shù)-1)不用遞歸算法扣5分(遞歸算法在樹結(jié)構(gòu)建立等方面比較常用)10重點(diǎn):1.聯(lián)動(dòng)成效,運(yùn)轉(zhuǎn)代碼只需履行( )方法。2.對(duì)老鼠和主人進(jìn)行抽象評(píng)分標(biāo)準(zhǔn):<1>.結(jié)構(gòu)出Cat、Mouse、Master三個(gè)類,并能使程序運(yùn)轉(zhuǎn)(2分)<2>從Mouse和Master中提取抽象(5分)<3>聯(lián)動(dòng)效應(yīng),只需履行( )就能夠使老鼠逃跑,主人驚醒。(3分)publicinterfaceObserver{voidResponse( );MainpublicdelegatevoidSubEventHandler( );publicabstractclassSubject{publiceventSubEventHandlerSubEvent;protectedvoidFireAway( ){if!=null)( );}}publicclassCat:Subject{publicvoidCry( ){("catcryed.");( );}}publicabstractclassObserver{publicObserver(Subjectsub){+=newSubEventHandler(Response);}publicabstractvoidResponse( );}publicclassMouse:Observer{privatestringname;publicMouse(stringname,Subjectsub):base(sub){=name;}publicoverridevoidResponse( ){(name+"attempttoescape!");}}publicclassMaster:Observer{publicMaster(Subjectsub):base(sub){}publicoverridevoidResponse( ){("hostwaken");}}classClass1{staticvoidMain(string[]args){Catcat=newCat( );Mousemouse1=newMouse("mouse1",cat);Mousemouse2=newMouse("mouse2",cat);Mastermaster=newMaster(cat);( );}}.C#中property與attribute的差異,他們各有什么用途,這類系統(tǒng)的利處在哪里?一個(gè)是屬性,用于存取類的字段,一個(gè)是特征,用來表記類,方法等的附帶性質(zhì)2.講一講你理解的webservice,在dotnetframework中,怎么很好的聯(lián)合xml?(講看法就行了)3.C#,Java和c++的特色,有什么相同的地方,不一樣的地方,C#分別從c++和java中汲取了他們那些長(zhǎng)處?相同點(diǎn):都是C系的,都是面向?qū)ο蟛灰粯狱c(diǎn):Java,C#都是建立在虛假機(jī)系統(tǒng)上,而C++不是4.C#能否對(duì)內(nèi)存進(jìn)行直接的操作?(這可是個(gè)難點(diǎn)哦?要注意!)能夠5.用VisualC++編寫的代碼(unmanagedcode),如何在CLR下和其余dotnetcomponent聯(lián)合?6.從前作過的一些項(xiàng)目?介紹一下自己的編程經(jīng)驗(yàn)。(這是蒙混可是去的,基本一問就知道是真是假)7.你對(duì)企業(yè)有什么希望?你的薪資希望值?為何學(xué)計(jì)算機(jī)?從前的工作經(jīng)驗(yàn)(這特別重要)?Q3:保護(hù)數(shù)據(jù)庫(kù)的完好性、一致性、你喜愛用觸發(fā)器還是自寫業(yè)務(wù)邏輯?為何觸發(fā)器,性能好,事務(wù)性Q4:ADO。NET相對(duì)于ADO等主要有什么改良?新增dataset等,不需要隨時(shí)保持連結(jié),性能提升Q5:ASP。NET與ASP對(duì)比,主要有哪些進(jìn)步?asp解說形,aspx編譯型,性能提升,有益于保護(hù)源碼Q6:C#中的拜托是什么?事件能否是一種拜托?拜托是一種安全的函數(shù)指針,事件是一種信息系統(tǒng)、也是拜托Q7:描繪一下C#中索引器的實(shí)現(xiàn)過程,能否只好依據(jù)數(shù)字進(jìn)行索引?Q8:C#中要使一個(gè)類支持FOREACH遍歷,實(shí)現(xiàn)過程如何?Q10:寫一個(gè)HTML頁(yè)面,實(shí)現(xiàn)以下功能,左鍵點(diǎn)擊頁(yè)面時(shí)顯示“您好”,右鍵點(diǎn)擊時(shí)顯示“嚴(yán)禁右鍵”。并在2分鐘后自動(dòng)封閉頁(yè)面。Q11:你對(duì)XMLHTTP、WEBSERVICE認(rèn)識(shí)嗎?簡(jiǎn)單描繪其特色、作用Q12:接口和抽象類有什么差異?你選擇使用接口和抽象類的依照是什么?接口用于規(guī)范,抽象類用于共性Q13:自定義控件和一般用戶控件的異同?假如要用這二者之一,你會(huì)選擇哪一種?為何Q14:大體描繪一下ASP。NET服務(wù)器控件的生命周期Q15:UMLQ16:面向?qū)ο蟮目捶?,主要特色Q17:類區(qū)分的依照。類粒度問題Q18:事物管理問題第一,說說final,finally,finalize的差異。第二,AnonymousInnerClass(匿名內(nèi)部類)能否能夠extends(繼承)其余類,能否能夠implements(實(shí)現(xiàn))interface(接口)?第三,StaticNestedClass和InnerClass的不一樣,說得越多越好(面試題有的很抽象)。第四,&和&&的差異。第五,HashMap和Hashtable的差異。第六,Collection和Collections的差異。第七,什么時(shí)候用assert。第八,GC是什么?為何要有GC?第九,Strings=newString("xyz");創(chuàng)立了幾個(gè)StringObject?第十,等於多少?等於多少?第十一,shorts1=1;s1=s1+1;有什么錯(cuò)?shorts1=1;s1+=1;有什么錯(cuò)?第十二,sleep( )和wait( )有什么差異?第十三,Java有沒有g(shù)oto?第十四,數(shù)組有沒有l(wèi)ength( )這個(gè)方法?String有沒有l(wèi)ength( )這個(gè)方法?第十五,Overload和Override的差異。Overloaded的方法能否能夠改變返回值的種類?第十六,Set里的元素是不可以重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢?是用==還是equals( )?它們有何差異?第十七,給我一個(gè)你最常有到的runtimeexception。第十八,error和exception有什么差異?第十九,List,Set,Map能否繼承自Collection接口?第二十,abstractclass和interface有什么差異?第二十一,abstract的method能否可同時(shí)是static,能否可同時(shí)是native,能否可同時(shí)是synchronized?第二十二,接口能否可繼承接口?抽象類能否可實(shí)現(xiàn)(implements)接口?抽象類能否可繼承實(shí)體類(concreteclass)?第二十三,啟動(dòng)一個(gè)線程是用run( )還是start( )?第二十四,結(jié)構(gòu)器Constructor能否可被override?第二十五,能否能夠繼承
String
類?第二十六,當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)
synchronized
方法后,其余線程能否可進(jìn)入此對(duì)象的其余方法
?第二十七,
try{}里有一個(gè)
return
語(yǔ)句,那么緊跟在這個(gè)
try
后的
finally
{}
里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被履行,在
return
前還是后
?第二十八,編程題
:
用最有效率的方法算出
2乘以
8等於幾
?第二十九,兩個(gè)對(duì)象值相同
(y)==true)
,但卻可有不一樣的
hashcode
,這句話對(duì)不對(duì)
?第三十,當(dāng)一個(gè)對(duì)象被看作參數(shù)傳達(dá)到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里究竟是值傳達(dá)還是引用傳達(dá)?第三十一,swtich能否能作用在byte上,能否能作用在long上,能否能作用在String上?第三十二,編程題:寫一個(gè)Singleton出來。有幾種用法第一種:newClass( );第二種:覆蓋方法publicnewXXXX( ){}第三種:new拘束指定泛型類申明中的任何種類參數(shù)都一定有公共的無參數(shù)結(jié)構(gòu)函數(shù)。2.如何把一個(gè)array復(fù)制到arrayList里foreach(objectoinarray)(o);能夠連結(jié)什么數(shù)據(jù)源[dataset,datatable,dataview]dataset,datatable,dataview,IList概括反射和序列化反射:程序集包含模塊,而模塊包含種類,種類又包含成員。反射則供給了封裝程序集、模塊和種類的對(duì)象。您能夠使用反射動(dòng)向地創(chuàng)立種類的實(shí)例,將種類綁定到現(xiàn)有對(duì)象,或從現(xiàn)有對(duì)象中獲取種類。而后,能夠調(diào)用種類的方法或接見其字段和屬性序列化:序列化是將對(duì)象變換為簡(jiǎn)單傳輸?shù)母袷降倪^程。比方,能夠序列化一個(gè)對(duì)象,而后使用HTTP經(jīng)過Internet在客戶端和服務(wù)器之間傳輸該對(duì)象。在另一端,反序列化將從該流從頭結(jié)構(gòu)對(duì)象。5.概括o/rmapping的原理利用反射,配置將類于數(shù)據(jù)庫(kù)表映照類成員有( )種可接見形式可接見形式?不懂。可接見性:public,protected,private,internal用sealed修飾的類有什么特色sealed修飾符用于防范從所修飾的類派生出其余類。假如一個(gè)密封類被指定為其余類的基類,則會(huì)發(fā)生編譯時(shí)錯(cuò)誤。密封類不可以同時(shí)為抽象類。sealed修飾符主要用于防范非存心的派生,可是它還可以促進(jìn)某些運(yùn)轉(zhuǎn)時(shí)優(yōu)化。詳盡說來,因?yàn)槊芊忸愑谰貌粫?huì)有任何派生類,所以對(duì)密封類的實(shí)例的虛假函數(shù)成員的調(diào)用能夠變換為非虛假調(diào)用來辦理。列舉中的五個(gè)主要對(duì)象,并簡(jiǎn)單描繪connection,command,dataReader,trans,dataset...履行下邊代碼后:StringstrTemp="abcdefg某某某";IntiIntj=;問:i=(14);j=(11)i=(14);j=(11)中文兩個(gè)字節(jié)#中,stringstr=null與stringstr="",請(qǐng)盡量用文字說明差異。(重點(diǎn):說明詳盡的內(nèi)存空間分派)stringstr=""分派空間11.詳述.NET里class和struct的異同!class:放在?struct放在?struct值傳達(dá)類與結(jié)構(gòu)有好多相像之處:結(jié)構(gòu)能夠?qū)崿F(xiàn)接口,并且能夠擁有與類相同的成員種類??墒牵Y(jié)構(gòu)在幾個(gè)重要方面不一樣于類:結(jié)構(gòu)為值種類而不是引用種類,并且結(jié)構(gòu)不支持繼承。結(jié)構(gòu)的值儲(chǔ)存在“在貨倉(cāng)上”或“內(nèi)聯(lián)”。仔細(xì)的程序員有時(shí)能夠經(jīng)過聰慧地使用結(jié)構(gòu)來加強(qiáng)性能。概括.NET里對(duì)remoting和webservice兩項(xiàng)技術(shù)的理解和實(shí)質(zhì)中的應(yīng)用。遠(yuǎn)程邏輯調(diào)用,remoing接口只好用在中什么是code-behind技術(shù)aspxandcs概括三層結(jié)構(gòu)系統(tǒng)web/business/dataaccess如何實(shí)現(xiàn)MVC模式,舉例說明!web/business/dataaccess面向?qū)ο蟮乃枷胫饕裁???這個(gè)題范圍太廣,不知道說什么.什么是中的用戶控件答:用戶控件就是.ascx擴(kuò)展名的東西嘍,能夠拖到不一樣的頁(yè)面中調(diào)用,以節(jié)儉代碼.比方登岸可能在多個(gè)頁(yè)面上有,就能夠做成用戶控件,可是有一個(gè)問題就是用戶控件拖到不一樣級(jí)其余目錄下后里面的圖片等的相對(duì)路徑會(huì)變得不正確,需要自已寫方法調(diào)整.3.什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強(qiáng)種類系統(tǒng)?什么是裝箱和拆箱?什么是重載?CTS、CLS和CLR分別作何解說?答:裝箱就是把值種類轉(zhuǎn)成引用種類,從MSIL角度看憂如是boxing,沒記錯(cuò)的話是把值從貨倉(cāng)轉(zhuǎn)到堆中.拆箱相反,重載就是指一個(gè)方法名同,參數(shù)個(gè)數(shù)不一樣,返回值能夠相同的方法.CLR是通用語(yǔ)言運(yùn)轉(zhuǎn)時(shí),其余的不清楚.列舉一下你所認(rèn)識(shí)的XML技術(shù)及其應(yīng)用答:XML可是好東西,保存配置,站與站之間的溝通,WEBSERVICE都要用它.5.值種類和引用種類的差異?寫出C#的樣例代碼。答:結(jié)構(gòu)是值種類,類是引用種類,所以傳結(jié)構(gòu)就是值種類的應(yīng)用啦,傳對(duì)象或類就是引用種類的,這個(gè)不用多寫了吧.中常用的對(duì)象有哪些?分別描繪一下。答:connectioncommandsqladapterdatasetdatatabledataview等等.寫不完了.如何理解拜托?答:聽聞相當(dāng)于函數(shù)指針,定義了拜托就能夠在不調(diào)用原方法名稱的狀況下調(diào)用那個(gè)方法.msdn2005中是這樣解說的:拜托擁有以下特色:拜托近似于C++函數(shù)指針,但它是種類安全的。拜托同意將方法作為參數(shù)進(jìn)行傳達(dá)。拜托可用于定義回調(diào)方法。拜托能夠鏈接在一同;比方,能夠?qū)σ粋€(gè)事件調(diào)用多個(gè)方法。方法不需要與拜托署名精準(zhǔn)般配。有關(guān)更多信息,請(qǐng)拜見協(xié)變和逆變。C#版引入了匿名方法的看法,此類方法同意將代碼塊作為參數(shù)傳達(dá),以取代獨(dú)自定義的方法。#中的接口和類有什么異同。答:這個(gè)異同可多了,要求情楚還真不簡(jiǎn)單.。net中讀寫數(shù)據(jù)庫(kù)需要用到哪些類?他們的作用答:這個(gè)類自已能夠?qū)懙陌?你是指基類嗎?那configuration,sqlconnection,sqlcommand等都要用到.連結(jié)和TCP連結(jié)的異同。答:前者盡管傳,不論數(shù)據(jù)到不到,不必建立連結(jié).后者保證傳輸?shù)臄?shù)據(jù)正確,須要連結(jié).的身份考證方式有哪些?分別是什么原理?答:form認(rèn)證,windows集成認(rèn)證等,原理不清楚.進(jìn)度和線程分別怎么理解?答:進(jìn)度是老子,線程是兒子,沒有老子就沒有兒子,一個(gè)老子能夠有多個(gè)兒子.一個(gè)兒子能夠成為他人的兒子,一個(gè)老子也能夠?yàn)槠溆嗬献由鷥鹤?13.什么是code-Behind技術(shù)。答:代碼分別,這是個(gè)理智的東西,像ASP這樣混成一堆很不爽.或許能夠理解成HTML代碼寫在前臺(tái),C#代碼寫在后臺(tái).自然前臺(tái)也有腳本,類的調(diào)用等,其實(shí)寫在一同也是能夠的.活動(dòng)目錄的作用。答:這個(gè)不理解.請(qǐng)理解的增補(bǔ)一下.中讀寫XML的類都?xì)w屬于哪些命名空間?答:我自已寫的就不必定了,嘿嘿.解說一下UDDI、WSDL的意義及其作用。答:什么東西?什么是SOAP,有哪些應(yīng)用。答:SOAP(SimpleObjectAccessProtocol)簡(jiǎn)單對(duì)象接見協(xié)議是在分別或分布式的環(huán)境中互換信息并執(zhí)行遠(yuǎn)程過程調(diào)用的協(xié)議,是一個(gè)鑒于XML的協(xié)議。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)議),能夠同意任何種類的對(duì)象或代碼,在任何平臺(tái)上,以任何向來語(yǔ)言互相通訊。這類互相通信采納的是XML格式的信息,詳盡請(qǐng)看如何部署一個(gè)頁(yè)面。答:隨意啦,想直接上傳就直接上傳,想打包成EXE就打包,看個(gè)人喜好.如何理解中的垃圾回收系統(tǒng)。答:GC?對(duì)象創(chuàng)立了總要除掉啊,不然內(nèi)存哪夠用?20.常用的調(diào)用webservice方法有哪些?答:調(diào)用就調(diào)用,還有好多方法嗎?以上有答案的僅供參照(不必定正確哦),假如你有更好的答案請(qǐng)答復(fù)告訴我.閱讀:CSDN-文談?wù)摚簷n中心參加評(píng)-.NET論許久從前的一個(gè)sql面試題及答標(biāo)題案.選擇自kgdiwss的Blog許久從前的重點(diǎn)字一個(gè)sql面試題及答案.出處今日忽然想起來許久從前的一個(gè)sql面試題,在同事的幫助下終于實(shí)現(xiàn)了.在此對(duì)題目詳盡數(shù)據(jù)記不清了,可是大體意思相同,要求在查問分析器中達(dá)成,題目以下:表className中有以下分類:classIDclassName1衣服2褲子5帽子10鞋子表productInfo有以下記錄:productIDproductNameparentID1男士衣服1衣服類型中這條記錄的點(diǎn)擊率最高2女士衣服13男士褲子24女士褲子2褲子類型中這條記錄點(diǎn)擊率最高5男士帽子56女士帽子5帽子類型中這條點(diǎn)擊率最高7男士鞋子10子類型中這條點(diǎn)擊率最高8女士鞋子109女士鞋子110此刻要求分別把衣服,褲子,帽子,鞋子這些類型中點(diǎn)擊率最高的一條記錄找出來,而后再降序擺列,productIDproductNameclickNum1男士衣服4女士褲子7男士鞋子6女士帽子以下為實(shí)現(xiàn)過程:/*功能:搜尋類型表[className]中的每個(gè)類型下點(diǎn)擊率最高的那條記錄,而后將這些記錄降序擺列作者:vivianhu整理:kgdiwss(我不過增添了說明以及重命名了一些變量)日期:2006-4-17*//*假如存在暫時(shí)表tTable,則先將它刪除*/ifexists(select*fromwhereid=object_id(N'[dbo].[tTable]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[tTable]GO/*創(chuàng)立暫時(shí)表*/createtabletTable(productidint,productnamevarchar(10),clicknumint)/*變量申明*/declare@classIDint/*定義游標(biāo)*/declarecursor_classIDCURSORFORSELECTclassIDFROMclassName/*翻開游標(biāo)@@FETCH_STATUS返回被FETCH語(yǔ)句履行的最后游標(biāo)的狀態(tài),而不是任何目前被連結(jié)翻開的游標(biāo)的狀態(tài)。表示FETCH語(yǔ)句成功。*/OPENcursor_classIDFETCHNEXTFROMcursor_classIDINTO@classIDWHILE@@FETCH_STATUS=0/*搜尋某一類型中點(diǎn)擊率最高的一條記錄*/BEGINinsertintotTableselecttop1productID,productName,clickNumfromproductInfowhereparentID=@classIDorderbyclickNumdescFETCHNEXTFROMcursor_classIDINTO@classIDEND/*封閉游標(biāo)*/CLOSEcursor_classID/*刪除游標(biāo)引用*/DEALLOCATEcursor_classID/*對(duì)暫時(shí)表中的記錄依據(jù)點(diǎn)擊率進(jìn)行降序擺列*/select*fromtTableorderbyclickNumdesc/*刪除暫時(shí)表*/droptabletTable一條語(yǔ)句搞定SELECTproductID,productName,clickNumFROMproductInfoWHERE(convert(varchar(20),parentID)+'_'+convert(varchar(20),clickNum)in(SELECTconvert(varchar(20),parentID)+'_'+convert(varchar(20),MAX(clickNum))FROMproductInfoGROUPBYparentID))C#面試基礎(chǔ)問題EnglishVersion:假如你的簡(jiǎn)歷上邊寫“熟習(xí)/認(rèn)識(shí)C#”,那么你就應(yīng)當(dāng)能夠回答下邊的這些基礎(chǔ)問題。我將給出自己的簡(jiǎn)要答案以供參照。歡迎談?wù)摗<偃缡恰熬珪浴?,那么?qǐng)參照:傳入某個(gè)屬性的set方法的隱含參數(shù)的名稱是什么?value,它的種類和屬性所聲名的種類相同。如何在C#中實(shí)現(xiàn)繼承?在類名后加上一個(gè)冒號(hào),再加上基類的名稱。C#支持多重繼承么?不支持。能夠用接口來實(shí)現(xiàn)。被protected修飾的屬性/方法在哪處能夠接見?在繼承或間接繼承與這個(gè)類的子類中能夠接見。私有成員會(huì)被繼承么?會(huì),可是不可以被接見。所以看上去他們仿佛是不可以被繼承的,但實(shí)質(zhì)上的確被繼承了。6.請(qǐng)描繪一下修飾符protectedinternal。被protectedinternal修飾的屬性/方法只好在它的在同一個(gè)程序集(Assembly)中的子類被接見。C#供給一個(gè)默認(rèn)的無參數(shù)結(jié)構(gòu)函數(shù),當(dāng)我實(shí)現(xiàn)了其余一個(gè)有一個(gè)參數(shù)的結(jié)構(gòu)函數(shù)時(shí)候,還想保存這個(gè)無參數(shù)的結(jié)構(gòu)函數(shù)。這樣我應(yīng)當(dāng)寫幾個(gè)結(jié)構(gòu)函數(shù)??jī)蓚€(gè),一旦你實(shí)現(xiàn)了一個(gè)結(jié)構(gòu)函數(shù),C#就不會(huì)再供給默認(rèn)的結(jié)構(gòu)函數(shù)了,所以需要手動(dòng)實(shí)現(xiàn)那個(gè)無參數(shù)結(jié)構(gòu)函數(shù)。C#中所有對(duì)象共同的基類是什么?.重載和覆寫有什么差異?重載供給了對(duì)一個(gè)方法署名的不一樣參數(shù)調(diào)用的實(shí)現(xiàn)。覆寫供給了子類中改變父類方法行為的實(shí)現(xiàn)。在方法定義中,virtual有什么含意?被virtual修飾的方法能夠被子類覆寫。能夠?qū)⒎庆o態(tài)的方法覆寫成靜態(tài)方法么?不可以,覆寫方法的署名一定與被覆寫方法的署名保持一致,除了將virtual改為override。能夠覆寫私有的虛方法么?不可以夠,甚至子類中沒法接見父類中的私有方法。能夠阻擋某一個(gè)類被其余類繼承么?能夠,使用重點(diǎn)字sealed。能夠?qū)崿F(xiàn)同意某個(gè)類被繼承,但不一樣意此中的某個(gè)方法被覆寫么?能夠,標(biāo)記這個(gè)類為public,并標(biāo)記這個(gè)方法為sealed。15.什么是抽象類(abstractclass)?一種不可以夠被實(shí)例化的類。抽象類中一般含有抽象方法,自然也可有詳盡實(shí)現(xiàn)。繼承類只有實(shí)現(xiàn)過所有抽象類的抽象方法后才能被實(shí)例化。何時(shí)一定申明一個(gè)類為抽象類?當(dāng)這個(gè)類中包含抽象方法時(shí),或是該類并無完好實(shí)現(xiàn)父類的抽象方法時(shí)。接口(interface)是什么?只含有共有抽象方法(publicabstractmethod)的類。這些方法一定在子類中被實(shí)現(xiàn)。為何不可以指定接口中方法的修飾符?接口中的方法用來定義對(duì)象之間通訊的契約,指定接口中的方法為私有或保護(hù)沒存心義。他們默認(rèn)為公有方法。能夠繼承多個(gè)接口么?自然。那么假如這些接口中有重復(fù)的方法名稱呢?這類狀況中你能夠決定如何實(shí)現(xiàn)。自然需要特別得當(dāng)心??墒窃诰幾g環(huán)節(jié)是沒有問題的。接口和抽象類的差異是什么?接口中所有方法一定是抽象的,并且不可以指定方法的接見修飾符。抽象類中能夠有方法的實(shí)現(xiàn),也能夠指定方法的接見修飾符。如何差異重載方法?不一樣的參數(shù)種類,不一樣的參數(shù)個(gè)數(shù),不一樣的參數(shù)次序。const和readonly有什么差異?const重點(diǎn)字用來申明編譯經(jīng)常量,readonly用來申明運(yùn)轉(zhuǎn)經(jīng)常量。和有什么差異?是不可以變的字符串。寄存了一個(gè)可變的字符串,并供給一些對(duì)這個(gè)字符串改正的方法。本貼子以“現(xiàn)狀”供給且沒有任何擔(dān)保,同時(shí)也沒有授與任何權(quán)益Thispostingisprovided"ASIS"withnowarranties,andconfersnorights.postedon2006-04-0120:36DflyingChen閱讀(6522)談?wù)?41)編寫珍藏引用網(wǎng)摘所屬分類:.NET綜合、C#談?wù)?re:C#面試基礎(chǔ)問題2006-04-0214:35|PhoenixHuang90%是面向?qū)ο笤O(shè)計(jì)的問題。答復(fù)更多談?wù)?re:C#面試基礎(chǔ)問題2006-04-0214:48|DflyingChen@PhoenixHuang是的,自然這些也觀察了C#的語(yǔ)言基礎(chǔ)。答復(fù)更多談?wù)?re:C#面試基礎(chǔ)問題2006-04-0217:15|林子不錯(cuò)!可是假如答案假如能再OO一些那就現(xiàn)好了!答復(fù)更多談?wù)搑e:C#面試基礎(chǔ)問題2006-04-0218:29|DflyingChen@林子歡迎您提出改正的建議:)答復(fù)更多談?wù)?re:C#面試基礎(chǔ)問題2006-04-0222:41|裝置腦袋有幾道題的答案錯(cuò)誤,列出來供你面試時(shí)參照:C#支持多重繼承么?答案是類之間不支持,接口之間支持。類對(duì)接口叫做實(shí)現(xiàn),不叫繼承。6請(qǐng)描繪一下修飾符protectedinternal。正確答案是,在同一個(gè)Assembly中,他的接見級(jí)別和public相同,而跨Assembly接見時(shí),他的接見級(jí)別同protected相同。即protected的范圍+internal的范圍。能夠?qū)⒎庆o態(tài)的方法覆寫成靜態(tài)方法么?答案并無大錯(cuò),不過靜態(tài)方法根本無override看法,屬于惹起疑惑的問題能夠阻擋某一個(gè)類被其余類繼承么?答案沒錯(cuò),可是假如應(yīng)試者提到將所有結(jié)構(gòu)函數(shù)的接見級(jí)別都設(shè)為Private或子類沒法接見到的其余級(jí)別(Assembly外的internal),也有相同的成效。能夠?qū)崿F(xiàn)同意某個(gè)類被繼承,但不一樣意此中的某個(gè)方法被覆寫么?相同是可能惹起疑惑的題。因?yàn)槟J(rèn)(不帶virtual)的方法就是不可以被override的。帶sealed的方法必然是被override過的。接口和抽象類的差異是什么?還有一個(gè)簡(jiǎn)單被忽視的差異,C#不一樣意接口帶有靜態(tài)成員,盡管這不是.NET的限制。23const和readonly有什么差異?還有一些差異,當(dāng)應(yīng)試者提到時(shí)你不可以說是錯(cuò)的:作字段時(shí)const隱含靜態(tài),const能夠是局部的,readonly能夠在結(jié)構(gòu)函數(shù)中初始化等。答復(fù)更多談?wù)搑e:C#面試基礎(chǔ)問題2006-04-0309:32|DflyingChen@裝置腦袋C#支持多重繼承么?答案是類之間不支持,接口之間支持。類對(duì)接口叫做實(shí)現(xiàn),不叫繼承。inheritaninterface沒有什么不當(dāng),為何中文就不可以夠?6請(qǐng)描繪一下修飾符protectedinternal。--正確答案是,在同一個(gè)Assembly中,他的接見級(jí)別和public相同,而跨Assembly接見時(shí),他的接見級(jí)別同protected相同。即protected的范圍+internal的范圍。同一個(gè)Assembly中依舊是protected,您能夠查閱一下有關(guān)資料。能夠?qū)⒎庆o態(tài)的方法覆寫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水利工程建設(shè)安全基礎(chǔ)管理、構(gòu)筑物、作業(yè)、設(shè)備管理、消防安全、隱患、事故預(yù)防技術(shù)服務(wù)報(bào)告模板
- 文書模板-抽脂手術(shù)合同協(xié)議書
- 武漢24年小學(xué)6年級(jí)英語(yǔ)第四單元綜合卷
- 北海2024年07版小學(xué)4年級(jí)英語(yǔ)第三單元測(cè)驗(yàn)卷
- 高中化學(xué)知識(shí)點(diǎn)歸納與分類突破:化學(xué)與環(huán)境生活社會(huì)傳統(tǒng)文化
- 村里財(cái)務(wù)制度-記賬實(shí)操
- 2023年碳酸鹽資金申請(qǐng)報(bào)告
- 2025屆高三英語(yǔ)二輪復(fù)習(xí) 時(shí)事語(yǔ)法填空練習(xí)(4篇含答案)
- 2024年噪聲振動(dòng)污染防治項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 強(qiáng)化責(zé)任、真抓實(shí)干、自評(píng)促建、全力創(chuàng)優(yōu)
- 心肌疾病-第九版內(nèi)科學(xué)課件
- 《Python分支結(jié)構(gòu)》教學(xué)設(shè)計(jì)
- 平板閘閥說明書
- 《行政能力測(cè)試》課件
- 工作人員應(yīng)對(duì)火災(zāi)現(xiàn)場(chǎng)應(yīng)急處置卡
- 廣西南寧市八年級(jí)上學(xué)期數(shù)學(xué)期末考試試卷
- 上海中考物理專題-計(jì)算題失分題專題(學(xué)生版)
- 標(biāo)準(zhǔn)化與產(chǎn)品標(biāo)準(zhǔn)課件
- 中醫(yī)治療疫病的優(yōu)勢(shì)與前景共31張課件
- 《研究生英語(yǔ)》(第二版)練習(xí)答案及譯文
- 小說寫作:12條小說寫作技巧
評(píng)論
0/150
提交評(píng)論