C編程基礎(chǔ)練習(xí)題與_第1頁
C編程基礎(chǔ)練習(xí)題與_第2頁
C編程基礎(chǔ)練習(xí)題與_第3頁
C編程基礎(chǔ)練習(xí)題與_第4頁
C編程基礎(chǔ)練習(xí)題與_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

面向?qū)ο蟮乃枷胫饕裁???個人認為一各程序語言要成為真切的面向?qū)ο蟮某绦蛟O(shè)計語言,它一定符合以下條件:1抽象(abstraction)—抽象能夠有效地管理一個問題的復(fù)雜性,其作法是區(qū)分出與該問題有關(guān)的一組對象.2封裝(Encapsulation)—封裝是指將一個抽象的內(nèi)部實現(xiàn)隱蔽在特定的對象以內(nèi).3多態(tài)(polymorphism)—多態(tài)會供給相同方法的多種操作方法的多種操作實作.比方,不同的對象都會擁有一個Save方法,可是每一個Save方法會履行不一樣的操作.4繼承(inheritance)—VisualC#2005最令人愉悅之處就是其繼承特征.vc#2005則提供了真切的方法繼承,所以您能夠重復(fù)使用一個類的實例.什么是中的用戶控件自己著手作自己的控件來取代.NET供給的控件。這類控件就是用戶控件。后綴為.ascx什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強種類系統(tǒng)?什么是裝箱和拆箱?什么是重載?什么是多態(tài)?CTS、CLS和CLR分別作何解說?應(yīng)用程序域:應(yīng)用程序域(平常是AppDomain)是用于間隔應(yīng)用程序的虛假進度。在同一個應(yīng)用程序作用域中創(chuàng)立的所有對象(換句話說,從該應(yīng)用程序的進口點開始沿著對象激活序列的任何地方)都在同一個應(yīng)用程序域中創(chuàng)立。多個應(yīng)用程序域能夠存在于一個操作系統(tǒng)進程中,使它們成為間隔應(yīng)用程序的簡易方式。操作系統(tǒng)進度經(jīng)過使用各不相同的內(nèi)存地點空間來供給間隔。盡管它是有效的,但也是代價昂貴的,并且不可以達到大型Web服務(wù)器所需要的數(shù)目。與其對比,公共語言運轉(zhuǎn)時經(jīng)過管理在應(yīng)用程序域中運轉(zhuǎn)的代碼的內(nèi)存使用來強迫進行應(yīng)用程序間隔。這樣就保證它不會接見應(yīng)用程序域以外的內(nèi)存。需要注意的是,只有種類安全的代碼才能以這類方式管理(當(dāng)在應(yīng)用程序域中加載不安全代碼時,運轉(zhuǎn)時不可以保證間隔)。理解應(yīng)用程序域:應(yīng)用程序域是.NET運轉(zhuǎn)庫的邏輯進度表示,操作系統(tǒng)進度能夠包含多個應(yīng)用程序域。應(yīng)用程序域擁有以下長處:1、隱蔽了進度詳盡的操作系統(tǒng)信息。從而同意把.NET放在不一樣的操作系統(tǒng)下。、供給了間隔。即便運轉(zhuǎn)在同一個進度中的屬于不一樣域的應(yīng)用程序也不可以直接共享全局數(shù)據(jù)、靜態(tài)數(shù)據(jù)或其余資源。所以,一個應(yīng)用程序域失敗了,也不會影響到同一個進度中的其余應(yīng)用程序域。、對于不需要昂貴的IPC系統(tǒng)的進度,應(yīng)用程序域同意.NET運轉(zhuǎn)庫優(yōu)化運轉(zhuǎn)在這類進度中的應(yīng)用程序間的通訊。因為應(yīng)用程序域是被間隔的,所有.NET對象都會被界定在創(chuàng)立它的應(yīng)用程序域內(nèi)。假如跨應(yīng)用程序域的界限傳達對象引用,該被引用對象就被稱為遠程對象。裝箱和拆箱在C#中的有兩各樣類的變量:值種類和引用種類。當(dāng)值種類和引用種類互相轉(zhuǎn)變時,會發(fā)生裝箱和拆箱的過程。這里有一點要申明:經(jīng)過拆箱或裝箱的對象會多出它自己一份拷貝。它和它的拷貝不在一個儲存地區(qū)。這也是值種類和引用種類的差異所在。值種類老是在棧中,而引用種類總是在托管堆中。(目前也支持了裝箱和拆箱,可是我目前不知道能否和C#相同)。為了進一步理解看下邊例子:structPoint{publicintx;publicinty;}staticvoidMain( ){Pointp;=10;=20;Objecto=p;將值種類從棧中拷貝到堆中。/************************************************************************/從托管堆中將對象拷貝到棧中。/************************************************************************/Pointp2=(Point)p;(“:="++

:=

“+;=16;=34;(“:="++

:=

“+;(“:="++

:=

“+;}輸出結(jié)果為::=10;=20;:=10;=20;:=16;=34;可知,變量經(jīng)過拆箱/裝箱后,獲取是自己的另一份拷貝。裝箱和撤消裝箱的看法是C#的種類系統(tǒng)的核心。它在“值種類”和“引用種類”之間的架起了一座橋梁,使得任何“值種類”的值都能夠變換為object種類的值,反過來變換也可以。裝箱和撤消裝箱使我們能夠一致地來觀察種類系統(tǒng),此中任何種類的值最后都能夠按對象處理多態(tài)一.形象理解兩條理解的原則:(1)一個派生類對象能夠被申明成一個基類,或許是一個基類指針能夠指向一個派生類對象:MainMainET聯(lián)合Java和COM解決方案二者長處來解決互操作性問題。近似于

COM定義的標準二進制格式,

.NET定義了一個稱為通用種類系統(tǒng)

CommonTypeSystem(CTS)的種類標準。這個類型系統(tǒng)不僅實現(xiàn)了

COM的變量兼容種類,并且還定義了經(jīng)過用戶自定義種類的方式來進行種類擴展。任何以

.NET平臺作為目標的語言一定建立它的數(shù)據(jù)種類與

CTS的種類間的映照。所有.NET語言共享這一種類系統(tǒng),實現(xiàn)它們之間無縫的互操作。該方案還供給了語言之間的繼承性。比方,用戶能夠在中派生一個由C#編寫的類。很明顯,編程語言的差異不不過在于種類。比方,一些語言支持多繼承性,一些語言支持無符號數(shù)據(jù)種類,一些語言支持運算符重載。用戶應(yīng)認識到這一點,所以.NET經(jīng)過定義公共語言規(guī)范(CLS:CommonLanguageSpecification)

,限制了由這些不一樣引起的互操作性問題。CLS擬定了一種以

.NET平臺為目標的語言所一定支持的最小特色,

以及該語言與其余

.NET語言之間實現(xiàn)互操作性所需要的齊備特色。認識到這點很重要,這里談?wù)摰奶厣珕栴}已不不過是語言間的簡單語法差異。比方,CLS其實不去關(guān)懷一種語言用什么重點字實現(xiàn)繼承,不過關(guān)懷該語言如何支持繼承。CLS是CTS的一個子集。這就意味著一種語言特色可能符合CTS標準,但又高出CLS的范圍。例如:C#支持無符號數(shù)字種類,該特色能經(jīng)過CTS的測試,但CLS卻不過鑒識符號數(shù)字種類。因此,假如用戶在一個組件中使用C#的無符號種類,即可能不可以與不使用無符號種類的語言(如設(shè)計的.NET組件實現(xiàn)互操作。這里用的是“可能不”,而不是“不可以能”,因為這一問題實際依靠于對non-CLS-compliant項的可見性。事實上,CLS規(guī)則只合用于或部分合用于那些與其余組件存在聯(lián)系的組件中的種類。實質(zhì)上,用戶能夠安全實現(xiàn)含私有組件的項目,而該組件使用了用戶所選擇使用的.NET語言的所有功能,且無需恪守CLS的規(guī)范。另一方面,假如用戶需要.NET語言的互操作性,那么用戶的組件中的公共項一定完好符合CLS規(guī)范。讓我們來看下邊的C#代碼:publicclassFoo{privateuintA=4;publicuintB=5;publiclongGetA( ){returnA;}}最后一個

C是公共語言運轉(zhuǎn)庫

CommonLanguageRuntime(CLR)

。簡單地說,

CLR是CTS的實現(xiàn),也就是說,

CLR是應(yīng)用程序的履行引擎和功能齊備的類庫,該類庫嚴格依照

CTS規(guī)范實現(xiàn)。作為程序履行引擎,

CLR負責(zé)安全地載入和運轉(zhuǎn)用戶程序代碼,

包含對不用對象的垃圾回收和安全檢查。在CLR監(jiān)控之下運轉(zhuǎn)的代碼,稱為托管代碼(managedcode)。作為類庫,CLR供給上百個可用的實用種類,而這些種類可經(jīng)過繼承進行擴展。對于文件I/O、創(chuàng)立對話框、啟動線程等種類——基本上能使用WindowsAPI來達成的操作,都可由其達成。讓我們正確對待“3C”。開發(fā)人員在建立自己的分布式應(yīng)用程序時,因為用戶在編程時將直接面對CLR,應(yīng)將主要精力放在學(xué)習(xí)認識CLR上,而不是CTS和CLS。而對于希望以.NET平臺為目標的語言和工具開發(fā)商來說,就需要深入理解CTS和CLS。互操作性組件是分布式應(yīng)用的關(guān)鍵,所以理解.NET如何經(jīng)過定義公共種類實現(xiàn)這一目標,也就顯得十分重要。列舉一下你所認識的XML技術(shù)及其應(yīng)用值種類和引用種類的差異?寫出C#的樣例代碼Ref與Out的差異。Ref與Out的差異是相同點:使參數(shù)按引用傳達,注意這里的“引用”與我們平常說的“對象引用”不一樣樣,能夠形象的理解為,近似于C/C++中傳指針(地點)。成效是,被調(diào)用方對該參數(shù)的改正會反應(yīng)到該變量中,即當(dāng)調(diào)用結(jié)束返回時,調(diào)用方看到的是修悔過的值。3.方法定義和調(diào)用方法都一定顯式使用ref或許out重點字不一樣點:1。傳達到ref的參數(shù)一定最初初始化,即由調(diào)用方顯式初始化。2。傳達到out的參數(shù)在傳達從前不需要顯式初始化,但需要調(diào)用方在方法返回從前一定對其賦值。使用途景:對于重載說明:1。ref和out重點字在運轉(zhuǎn)時的辦理方式不一樣,但在編譯時的辦理方式相同。所以,假如一個方法采納ref參數(shù),而另一個方法采納out參數(shù),則沒法重載這兩個方法。2??墒?,假如一個方法采納ref或out參數(shù),而另一個方法不采納這兩類參數(shù),則能夠進行重載。使用ref前一定對變量賦值,out不用。out的函數(shù)會清空變量,即便變量已經(jīng)賦值也不可以,退出函數(shù)時所有out引用的變量都要賦值,ref引用的能夠改正,也能夠不改正。差異能夠參看下邊的代碼:usingSystem;classTestApp{staticvoidoutTest(outintx,outinty){Main何理解拜托?單從拜托的看法上來講,很簡單,就是對方法的引用,包含靜態(tài)方法和對象實例的方法,有點類似C語言中的方法指針,可是方法指針只好引用靜態(tài)方法!并且拜托是類安全的!一句話來概括:拜托就是方法的進口!調(diào)用拜托就是調(diào)用方法,可能有人會說既然調(diào)用拜托就是調(diào)用方法,那為何不直接調(diào)用方法了,干嗎非得經(jīng)過拜托來調(diào)用!一開始我也是這么想,包含此刻也還有這個迷惑,個人感覺,假如撇開事件來說,拜托除了匿名方法名稱以外,沒有詳盡實質(zhì)型的利處!意思就是說我們假如不是在事件里用拜托,和直接調(diào)用方法是沒有實質(zhì)區(qū)其余!至于拜托的申明格式,其基本語法為:修飾符delegate返回種類代理名稱(參數(shù)列表)比方說publicdelegatevoidMyDelegate(inti);實例化的時候給它賦值一個方法(實例或靜態(tài)方法)名就能夠了MyDelegateMD=newMyDelegate(類中的方法名)拜托還可以夠?qū)崿F(xiàn)多重拜托,能夠用Combine方法講不一樣代理組在一同,也能夠用Remove方法從多重代理中除掉一個代理,可是在我們實質(zhì)使用能夠不需要這么麻煩,用+,-能夠達到這個目的!比方說:MyDelegateMD=newMyDelegate(方法1);MyDelegateMD2=newMyDelegate(方法2);MyDelegateMD3=MD+MD2;也能夠這么寫MyDelegateMD3+=newMyDelegate(方法1);MyDelegateMD3+=newMyDelegate(方法2);履行代理MD3就是調(diào)用方法1和方法2;多重代理個人感覺在事件拜托頂用途很大,因為在實質(zhì)對象中,一個方法履行會觸發(fā)多個方法接踵履行,這個時候會需要多重代理這個看法!使用多重代理的時候要注意方法返回種類一定是void種類的!PS:在代理類中有

2個屬性

,一個是

Method,表示所應(yīng)用方法的名稱

!另一個是

Target,

表示實例方法所在對象的種類

,假如是靜態(tài)方法

,則返回NULL事件(Event)正如我上邊說的那樣,假如撇開事件,拜托憂如沒有多大用途,但也不過假定,拜托就是為事件服務(wù)的,二者是分不開的.言事件比言拜托!在C#中,事件和屬性,方法相同,是類的一種成員,經(jīng)過事件的使用,能夠在類的對象發(fā)生某種變化,經(jīng)過事件,來觸發(fā)某些方法來辦理事件的發(fā)生!舉個平常的例子,在的窗體生成種,拖進來一個按鈕,雙擊它,頁面后臺會自動生成按鈕事件的方法名稱

,編程人員只需在該方法體內(nèi)寫上詳盡方法即可

!

那么按鈕類里面是怎么實現(xiàn)的了

?詳盡是這樣的

,在按鈕類里面聲了然一個事件拜托

:publicenvetEventHandlerClick;并寫了一個觸發(fā)該事件的方法

:protectedvirtualvoidOnClick(EventArgese){if(Click!=Null){Click(this,e)}}而什么時候調(diào)用上邊這個方法,依據(jù)程序結(jié)構(gòu)種類不一樣而異,在WEB應(yīng)用程序中,是經(jīng)過回傳事件接口來調(diào)用上邊這個方法,在按鈕類里不過實現(xiàn)了事件拜托,詳盡雙擊按鈕觸發(fā)的實質(zhì)方法是在頁面程序里編寫的!(PS:所以這也是我認為使用事件拜托的最大利處,靈巧行好,靈巧,假如不用拜托,而是直接調(diào)用方法,那么所調(diào)用的方法就固定死了,不利于實質(zhì)面向?qū)ο缶幊讨谐霈F(xiàn)的未預(yù)型方法,不靈巧了)在頁面程序為按鈕綁定事件拜托所引用的方法是開發(fā)環(huán)境自動幫我們達成的,但我們要清楚實現(xiàn)的必需步驟

:在頁面程序里一定給按鈕的事件實例化方法

,在的頁面代碼中的

privatevoidInitializeComponent( )

里要寫上

:+=new;

明事件拜托

;觸發(fā)事件的方法;實例化事件拜托(給拜托增添引用方法)msdn2005中是這樣解說的:拜托擁有以下特色:拜托近似于C++函數(shù)指針,但它是種類安全的。拜托同意將方法作為參數(shù)進行傳達。拜托可用于定義回調(diào)方法。拜托能夠鏈接在一同;比方,能夠?qū)σ粋€事件調(diào)用多個方法。方法不需要與拜托署名精準般配。有關(guān)更多信息,請拜見協(xié)變和逆變。C#版引入了匿名方法的看法,此類方法同意將代碼塊作為參數(shù)傳達,以取代獨自定義的方法。拜托合用于那種在某些其余語言中需用函數(shù)指針來解決的狀況(場合)??墒牵c函數(shù)指針不一樣,拜托是面向?qū)ο蠛头N類安全的。拜托申明定義一個類,它是從類派生的類。拜托實例封裝了一個調(diào)用列表,該列表列出了一個或多個方法,每個方法稱為一個可調(diào)用實體。對于實例方法,可調(diào)用實體由一個實例和該實例的方法構(gòu)成。對于靜態(tài)方法,可調(diào)用實體僅由一個方法構(gòu)成。假如用一組適合的參數(shù)來調(diào)用一個拜托實例,則該拜托實例所封裝的每個可調(diào)用實體都會被調(diào)用,并且用的都是上述的同一組參數(shù)。拜托實例的一個風(fēng)趣且實用的屬性是:它既不知道也不關(guān)懷有關(guān)它所封裝的方法所屬的類的種種詳情;對它來說最重要的是這些方法與該拜托的種類兼容(第節(jié))。這使拜托特別適合“匿名”調(diào)用。這是一個強盛的功能。定義和使用拜托分三個步驟:申明、實例化和調(diào)用。#中的接口和類有什么異同。一個接口定義一個協(xié)議。實現(xiàn)接口的類或結(jié)構(gòu)一定恪守其協(xié)議。接口能夠包含方法、屬性、索引器和事件作為成員。接口是負責(zé)功能的定義,項目中經(jīng)過接口來規(guī)范類,操作類以及抽象類的看法!而類是負責(zé)功能的詳盡實現(xiàn)!在類中也有抽象類的定義,抽象類與接口的差異在于:抽象類是一個不完好的類,類里面有抽象的方法,屬性,也能夠有詳盡的方法和屬性,需要進一步的專業(yè)化。但接口是一個行為的規(guī)范,里面的所有東西都是抽象的!一個類只好夠繼承一個基類也就是父類,但能夠?qū)崿F(xiàn)多個接口PS:接口除了規(guī)范一個行為以外,在詳盡項目中的實質(zhì)作用也是十分重要的,在面向?qū)ο蟮脑O(shè)計原則以及設(shè)計模式的使用中,無不表現(xiàn)作為一個接口的使用利處,最直接的就是設(shè)計原則中OCP(開放封閉原則),我們使用接口,而不需要關(guān)懷他的詳盡實現(xiàn),詳盡實現(xiàn)的細節(jié)變化也沒關(guān)客戶端(使用接口的類)的使用,對與擴展是開放的,我們能夠另寫一個接口的實現(xiàn)來擴展目前途序,而不影響上層的使用,但對改正是封閉的,即我們不可以夠再去改正接口的定義,自然這個“不能夠”是指在規(guī)范原則上不該當(dāng)這么做!。net中讀寫數(shù)據(jù)庫需要用到哪些類?他們的作用連結(jié)和TCP連結(jié)的異同。的身份考證方式有哪些?分別是什么原理?進度和線程分別怎么理解?簡單的說,你每啟動一個程序,就啟動了一個進度。在Windows下,進度是最小運轉(zhuǎn)單位。在Windows95/NT下,每個進度還可以夠啟動幾個線程,比方每下載一個文件能夠獨自開一個線程。在Windows95/NT下,線程是最小單位。WINDOWS的多任務(wù)特征使得線程之間獨立運行,可是它們相互共享虛假空間,也就是共用變量,線程有可能會同時操作一片內(nèi)存。線程與進度的差異多線程共存于應(yīng)用程序中是現(xiàn)代操作系統(tǒng)中的基本特色和重要標記。用過UNIX操作系統(tǒng)的讀者知道進度,在UNIX操作系統(tǒng)中,每個應(yīng)用程序的履行都在操作系統(tǒng)內(nèi)核中登記一個進度標記,操作系統(tǒng)依據(jù)分派的標記對應(yīng)用程序的履行進行調(diào)動和系統(tǒng)資源分派,但進度和線程有什么差異呢?進度和線程都是由操作系統(tǒng)所領(lǐng)會的程序運轉(zhuǎn)的基本單元,系統(tǒng)利用該基本單元實現(xiàn)系統(tǒng)對應(yīng)用的并發(fā)性。進度和線程的差異在于:線程的區(qū)分尺度小于進度,使得多線程程序的并發(fā)性搞。其余,進度在履行過程中擁有獨立的內(nèi)存單元,而多個線程共享內(nèi)存,從而極大地提升了程序的運轉(zhuǎn)效率。線程在履行過程中與進度還是有區(qū)其余。每個獨立的線程有一個程序運轉(zhuǎn)的進口、次序履行序列和程序的出口什么是code-Behind技術(shù)?;顒幽夸浀淖饔?。中讀寫XML的類都歸屬于哪些命名空間?解說一下UDDI、WSDL的意義及其作用。什么是SOAP,有哪些應(yīng)用。答:SOAP(SimpleObjectAccessProtocol)簡單對象接見協(xié)議是在分別或分布式的環(huán)境中互換信息并履行遠程過程調(diào)用的協(xié)議,是一個鑒于XML的協(xié)議。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)議),能夠同意任何種類的對象或代碼,在任何平臺上,以任何向來語言互相通訊。這類互相通訊采納的是XML格式的信息,詳盡請看如何部署一個頁面。如何理解中的垃圾回收系統(tǒng)。常用的調(diào)用webservice方法有哪些?與abstraction差異?結(jié)構(gòu)與類有何差異?哪些時候比較適合使用結(jié)構(gòu)和類?它們的相同之處:1,二者都是Container種類,這表示它們能夠包含其余數(shù)據(jù)種類作為成員.2,二者都擁有成員,這些成員包含:結(jié)構(gòu)函數(shù),方法,屬性,字段,常量,列舉種類,事件,以及事件辦理函數(shù).3,二者的成員都有其各自的存取范圍.比方,您能夠?qū)⒛骋粋€成員申明為Public,而將其余一人成員申明為Private4,二者都能夠?qū)崿F(xiàn)接口.5,二者都能夠公然一個默認屬性,可是前提是這個屬性最少要獲得一個自變量.6,二者都能夠申明和觸發(fā)事件,并且二者都能夠申明拜托(Delegate).7,結(jié)構(gòu)與類都能夠完好部是空的.它們的不一樣之處以下:1,結(jié)構(gòu)是實值種類(ValueTypes),而類是引用種類(ReferenceTypes).2,結(jié)構(gòu)使用載儲存(StackAllocation),而類使用堆儲存(HeapAllocation).3,所有結(jié)構(gòu)成員默認都是Public,而類的變量與常量數(shù)則默認為(Private,可是其余類成員默認都是Public.4,結(jié)構(gòu)成員國不可以被申明為Protected,可是類成員能夠這樣做.5,結(jié)構(gòu)變量申明不可以指定初始值,使用new重點字詞或?qū)?shù)組進行初始化,但類變量申明則可以這樣做.6,結(jié)構(gòu)不可以申明默認的結(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)的實例(Instance)申明,不一樣意對包含的變量進行初始化設(shè)定,類則能夠在申明類的實例時,同時進行變量初始化.10,結(jié)構(gòu)是隱式繼承自ValueType類并且不可以繼承任何其余的種類,類則能夠繼承來自ValueType以外的任何類.11,結(jié)構(gòu)是沒法被繼承的,類則能夠被繼承.12,結(jié)構(gòu)永久不會停止,所以CommonLanguageRuntime(CLR)不會在任何結(jié)構(gòu)上浮用Finalize

方法.類則是由內(nèi)存回收進度加以停止

,當(dāng)內(nèi)存回收進度檢測到?jīng)]有任何作用的類時,它就會調(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ù)會接收參數(shù)

:可是類則無此限制

,它能夠使用帶參數(shù)或不帶參數(shù)的非共享結(jié)構(gòu)函數(shù)

.15,每一個結(jié)構(gòu)都擁有無參數(shù)的隱含公共結(jié)構(gòu)函數(shù).此結(jié)構(gòu)函數(shù)會將結(jié)構(gòu)的所有成員初始化為基默認值.您不可以從頭定義這個行為.除了上述的相像處與相異點以外,我們還可以夠在”實例與變量”層面上來商討結(jié)構(gòu)與類.因為結(jié)構(gòu)是數(shù)值種類的,所以每個結(jié)構(gòu)變量會永久地綁定到結(jié)構(gòu)實例上.可是類是引用種類的,并且對象變量可引用不一樣的類實例.在此方面的差異,會對于使用結(jié)構(gòu)與類造成以下影響:1結(jié)構(gòu)變量會隱式地使用結(jié)構(gòu)的無參數(shù)結(jié)構(gòu)函數(shù)來初始化成員,這就意味著,語句StructlS就等于StructlS=newStructl( );2當(dāng)您好將一個結(jié)構(gòu)變量賦值給另一個,或是將結(jié)構(gòu)實例傳達到程序變量時,所有變量成員的值會復(fù)制到新的結(jié)構(gòu)中.當(dāng)您將一個對象變量賦值給另一個,或是將對象變量傳達到程序時,則只會復(fù)制指針.3,您能夠?qū)ull值賦值給結(jié)構(gòu)變量,可是該實例會向來與該變量保持關(guān)系.固然變量成員會所以賦值而從頭初始化,可是您還是能夠調(diào)用變量的方法并接見其數(shù)據(jù)成員.相反地,假如您將對象變量設(shè)定為Null,您就會中斷它與任何類實例的關(guān)系,并且除非您再將其余一個實例賦值給它,不然沒法經(jīng)過變量接見任何成員.4,您能夠在不一樣時間將不一樣的類的實例賦值給同一個對象變量,并且在同一時間能夠有好幾個對象變量引用相同的類實例,假如您對類成員值做了改變,則其余指向相同實例的對象變量也會發(fā)生改變.可是,結(jié)構(gòu)成員則會封裝在它們自己的實例中,更改結(jié)構(gòu)成員值其實不會對其余任何結(jié)構(gòu)變量的成員造成影響,甚至也不會影響相同Struct申明的其余實例.5,兩個結(jié)構(gòu)一定以成員對成員的比較方式來履行相等比較.兩個對象變量能夠使用Equals方法來加以比較.Equals會判斷兩個變量能否指向相同的實例.在以下狀況中,比較適合使用結(jié)構(gòu)1,您擁有少許數(shù)據(jù)并且希望使用會傳達的方式來為變量賦值時.2您會在每一個實例上履行大批的操作,并且若使用堆來管搭理造成性能降落.3,您不需要進行繼承,并且不需要實例有特別性.4,您不會采納Boxing與Unboxing結(jié)構(gòu).5,您會在Managed與UnManaged程序代碼之間傳達Blittable數(shù)據(jù).在以下狀況中,比較適合使用類:1,您需要使用繼承與多態(tài).2,您需要在創(chuàng)立階段初始化一個或多個成員.3,您需要供給一個非參數(shù)型的結(jié)構(gòu)函數(shù).4,您需要沒有任何限制的事件辦理支持.23.說說你對二維樹的理解?24.如何把一個array復(fù)制到arrayList里foreach(objectoinarray)(o);能夠連結(jié)什么數(shù)據(jù)源[dataset,datatable,dataview]dataset,datatable,dataview,IList26.概括反射和序列化反射:程序集包含模塊,而模塊包含種類,種類又包含成員。反射則供給了封裝程序集、模塊和種類的對象。您能夠使用反射動向地創(chuàng)立種類的實例,將種類綁定到現(xiàn)有對象,或從現(xiàn)有對象中獲取種類。而后,能夠調(diào)用種類的方法或接見其字段和屬性序列化:序列化是將對象變換為簡單傳輸?shù)母袷降倪^程。比方,能夠序列化一個對象,而后使用HTTP經(jīng)過Internet在客戶端和服務(wù)器之間傳輸該對象。在另一端,反序列化將從該流從頭結(jié)構(gòu)對象。27.概括o/rmapping的原理利用反射,配置將類于數(shù)據(jù)庫表映照28.類成員有( )種可接見形式可接見形式?不懂。可接見性:public,protected,private,internal29.用sealed修飾的類有什么特色sealed修飾符用于防范從所修飾的類派生出其余類。假如一個密封類被指定為其余類的基類,則會發(fā)生編譯時錯誤。密封類不可以同時為抽象類。sealed修飾符主要用于防范非存心的派生,可是它還可以促進某些運轉(zhuǎn)時優(yōu)化。具體說來,因為密封類永久不會有任何派生類,所以對密封類的實例的虛假函數(shù)成員的調(diào)用能夠變換為非虛假調(diào)用來辦理。#中,stringstr=null與stringstr="",請盡量用文字說明差異。(重點:說明詳盡的內(nèi)存空間分派)概括三層結(jié)構(gòu)系統(tǒng)如何實現(xiàn)MVC模式,舉例說明!。net中讀寫數(shù)據(jù)庫需要用到哪些類?他們的作用的身份考證方式有哪些?分別是什么原理?Remoting與webservices差異?36.C#能否對內(nèi)存進行直接的操作37:您在什么狀況下會用到虛方法?它與接口有什么不一樣?38:Override與重載有什么差異?39:值種類與引用種類有什么差異?40:如何理解靜態(tài)變量?41:向服務(wù)器發(fā)送懇求有幾種方式?42:DataReader與DataSet有什么差異?43:假如在一個B/S結(jié)構(gòu)的系統(tǒng)中需要傳達變量值,可是又不可以使用Session、Cookie、Application,您有幾種方法進行辦理?使用這個方法對比上邊介紹的方法略微復(fù)雜一點,但在頁面間值傳達中倒是特別實用的,使用該方法你能夠在另一個頁面以對象屬性的方式來存取顯現(xiàn)的值,自然了,使用這類方法,你需要額外寫一些代碼以創(chuàng)立一些屬性以便能夠在另一個頁面接見它,可是,這個方式帶來的利處也是顯而易見的。整體來說,使用這類方法是簡短的同時又是面向?qū)ο蟮?。使用這類方法的整個過程如下:1,在頁面里增添必需的控件2,創(chuàng)立返回值的Get屬性過程3,創(chuàng)立能夠返回表單的按鈕和鏈接按鈕4,在按鈕單擊事件辦理程序中調(diào)用方法轉(zhuǎn)移到指定的頁面5,在第二個頁面中,我們就能夠使用屬性來獲取前一個頁面實例對象的引用,經(jīng)過它,即可以使用存取前一個頁面的控件的值了以下代碼綜合實現(xiàn)上述步驟過程的代碼:源頁面代碼:把以下的代碼增添到頁面中publicstringName{get{return;}}publicstringEMail{get{return;}}而后調(diào)用方法privatevoidButton1_Click(objectsender,e){("";}目標頁面代碼:privatevoidPage_Load(objectsender,e){oString( );or"sum"].ToString( );"sum"];方法3:全局變量發(fā)送頁:Application["sum"]=("";接收頁:"sum"];Application實質(zhì)上是整個虛假目錄中所有文件的會合,假如想在整個應(yīng)用范圍內(nèi)使用某個變量值,Application對象將是最正確的選擇在這里用Session[""]的方法相同方法4:發(fā)送頁:1.定義靜態(tài)變量:publicstaticstringstr="";2.str=

("";接收頁:1.引入第一頁的命名空間:usingWebApplication1;244:軟件開發(fā)過程一般有幾個階段?每個階段的作用?45:微軟推出了一系列的ApplicationBlock,請舉出您所知道的ApplicationBlock并說明其作用?46:請列舉一些您用到過的設(shè)計模式以及在什么狀況下使用該模式?47:您對WebService的領(lǐng)會?以下幾道題目假如您不會,請較為詳盡的描繪您的解決思路和方法48:經(jīng)過超鏈接如何傳達中文參數(shù)?49:請編程遍歷頁面上所有TextBox控件并給它賦值為?50:請編程實現(xiàn)一個冒泡排序算法?下邊這段代碼輸出什么?為何?inti=5;intj=5;if(i,j))("Equal");else("NotEqual");對于這樣的一個列舉種類:enumColor:byte{Red,Green,Blue,Orange}string[]ss=(typeof(Color));byte[]bb=(typeof(Color));試寫一段程序顯示出列舉種類中定義的所有符號名稱以及它們對應(yīng)的數(shù)值。一個長度為10000的字符串,經(jīng)過隨機從a-z中抽取10000個字符構(gòu)成。請用c#語言編寫主要程序來實現(xiàn)。54.在c#中

using

和new這兩個重點字有什么意義,

請寫出你所知道的意義?

using

指令和語句

new

創(chuàng)立實例

new

隱蔽基類中方法55下邊這段代碼有錯誤么?switch(i){case( ):CaseZero( );break;case1:CaseOne( );break;case2:dufault;面的代碼中有什么錯誤嗎?_______usingSystem;classA{publicvirtualvoidF( ){("");}}abstractclassB:A{publicabstractoverridevoidF( );整數(shù)a賦值給一個object對象時,整數(shù)a將會被__裝箱(封裝)___?3.類成員有

_____種可接見形式?

this.;newClass( ).Method;staticconstintA=1;

這段代碼有錯誤么?是什么?

const

不可以用

static

修飾f=-123.567F;inti=(int)f;i的值此刻是_____?1236.利用operator申明且僅聲了然“==”,有什么錯誤么?拜托申明的重點字是______?delagete用sealed修飾的類有什么特色?密封,不可以繼承在中所有的自定義用戶控件都一定繼承自________?Control10.在.Net中所有可序列化的類都被標記為_____?11.在.Net托管代碼中我們不用擔(dān)憂內(nèi)存漏洞,這是因為有了______?gc1.有哪幾種方法能夠?qū)崿F(xiàn)一個類存取其余一個類的成員函數(shù)及屬性,并請舉列來加以說明和分析.假如需記錄類的實例個數(shù),該如何實現(xiàn),請寫一個簡單的類于以證明.類是B類的基類

,并且都有自己的結(jié)構(gòu)

,析構(gòu)函數(shù)

,請舉例證明

B類從實例化到消亡過程中結(jié)構(gòu)

,析構(gòu)函數(shù)的履行過程

.4.需要實現(xiàn)對一個字符串的辦理,第一將該字符串首尾的空格去掉,假如字符串中間還有連續(xù)空格的話,僅保存一個空格,即同意字符串中間有多個空格,但連續(xù)的空格數(shù)不可以超出一個.2、的錯誤辦理系統(tǒng)是什么數(shù)據(jù)庫方面:儲存過程和函數(shù)的差異事務(wù)是什么?游標的作用?如何知道游標已經(jīng)到了最后?觸發(fā)器分為事先觸發(fā)和過后觸發(fā),這兩種觸發(fā)有和差異。語句級觸發(fā)和行級觸發(fā)有何差異。1。用C#實現(xiàn)以下功能a產(chǎn)生一個int數(shù)組,長度為100,并向此中隨機插入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];對上邊生成的數(shù)組排序,需要支持升序、降序兩種次序2。請說明在中常用的幾種頁面間傳達參數(shù)的方法,并說出他們的優(yōu)弊端。session(viewstate)簡單,但易拋棄application全局cookie簡單,但可能不支持,可能被假造inputttype="hidden"簡單,可能被假造url參數(shù)簡單,顯示于地點欄,長度有限數(shù)據(jù)庫穩(wěn)固,安全,但性能相對弱3。請說明中的錯誤辦理系統(tǒng),并舉例trycatchfinal4。請說出強名的含義擁有自己的key,能夠在GAC(全局程序集緩存)為公用5。請列出c#中幾種循環(huán)的方法,并指出他們的不一樣forwileforeach6。請指出中所有種類的基類object7。請指出GAC的含義8。SQLSREVER中,向一個表中插入了新數(shù)據(jù),如何快捷的獲取自增量字段的目前值試卷1.填空:(1)面向?qū)ο蟮恼Z言擁有________性、_________性、________性。(2)能用foreach遍歷接見的對象需要實現(xiàn)________________接口或申明________________方法的種類。列舉中的五個主要對象_______________、_____________、_______________、_______________、_________________。Connection,Command,DataReader,DataAdapter,DataSetconnection連結(jié)對象command命令對象,指示要履行的命令和儲存過程!datareader是一個向前的只讀的數(shù)據(jù)流。dataadapter是功能強盛的適陪器,支持增修改查的功能dataset是一個數(shù)據(jù)級對象,相當(dāng)與內(nèi)存中的一張表或多張表!不定項選擇:以下表達正確的選項是:A.接口中能夠有虛方法。B.一個類能夠?qū)崿F(xiàn)多個接口。C.接口不可以被實例化。D.接口中能夠包含已實現(xiàn)的方法。從數(shù)據(jù)庫讀取記錄,你可能用到的方法有:A.ExecuteNonQueryB.ExecuteScalarC.FillD.ExecuteReader3.簡述private、protected、public、internal修飾符的接見權(quán)限。4.寫出一條Sql語句:拿出表A中第31到第40記錄(SQLServer,以自動增加的ID作為主鍵,注意:ID可能不是連續(xù)的。)5.列舉頁面之間傳達值的幾種方式。寫出程序的輸出結(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ù)是多少,用遞歸算法實現(xiàn)。(C#語言)10.程序設(shè)計:貓大喊一聲,所有的老鼠都開始逃跑,主人被驚醒。(C#語言)要求:1.要有聯(lián)動性,老鼠和主人的行為是被動的??紤]可擴展性,貓的喊聲可能惹起其余聯(lián)動效應(yīng)。參照答案:(1)繼承性、封裝性、多態(tài)性。(考基本看法)(2)IEnumerable、GetEnumerator(對foreach系統(tǒng)的理解,原來不想出這題的,湊分)...(送分題,對的認識)評分標準:一空1分,滿分10分。2.(1)B、C(考對接口的理解)(2)B、C、D(觀察對的嫻熟程度評分標準:一題5分,不選或許錯選均不得分。漏選得2分。滿分

)10分。3..private:

私有成員

,

在類的內(nèi)部才能夠接見。protected:

保護成員,該類內(nèi)部和繼承類中能夠接見。public:

公共成員,完好公然,沒有接見限制。internal:

在同一命名空間內(nèi)能夠接見。評分標準:答對

1題2分,2題5分,3題7分。全對

10分。

(

送分題

)解1:selecttop10*fromAwhereidnotin(selecttop30idfromA)解2:selecttop10*fromAwhereid>(selectmax(id)from(selecttop30idfromA)asA)評分標準:寫對即10分。(答案不獨一,datagrid分頁可能需要用到)1.使用QueryString,如?id=1;response.Redirect( )使用Session變量使用等等評分標準:答對1點得3分,兩點7分,3點10分。(觀察值引用和對象引用)strstringbeingconverted.評分標準:答對一點得2分,滿分10分。AB( )評分標準:寫出得5分,寫出( )得5分,滿分10分。(觀察在繼承類中結(jié)構(gòu)函數(shù),以及new方法,)2516評分標準:答對一點得2分,兩點得5分,3點得7分。全對得10分。(一些人做這題,頭都暈了^_^)9.publicclassMainClass{publicstaticvoidMain( ){(Foo(30));}publicstaticintFoo(inti){if(i<=0)return0;elseif(i>0&&i<=2)return1;elsereturnFoo(i-1)+Foo(i-2);}}評分標準:寫出returnFoo(i-1)+Foo(i-2);得5分。寫出if(i>0&&i<=2)return1;得5分。方法參數(shù)過多需要扣分(扣除分數(shù)=參數(shù)個數(shù)-1)不用遞歸算法扣5分(遞歸算法在樹結(jié)構(gòu)建立等方面比較常用)10重點:1.聯(lián)動成效,運轉(zhuǎn)代碼只需履行( )方法。2.對老鼠和主人進行抽象評分標準:<1>.結(jié)構(gòu)出Cat、Mouse、Master三個類,并能使程序運轉(zhuǎn)(2分)<2>從Mouse和Master中提取抽象(5分)<3>聯(lián)動效應(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)的利處在哪里?一個是屬性,用于存取類的字段,一個是特征,用來表記類,方法等的附帶性質(zhì)2.講一講你理解的webservice,在dotnetframework中,怎么很好的聯(lián)合xml?(講看法就行了)3.C#,Java和c++的特色,有什么相同的地方,不一樣的地方,C#分別從c++和java中汲取了他們那些長處?相同點:都是C系的,都是面向?qū)ο蟛灰粯狱c:Java,C#都是建立在虛假機系統(tǒng)上,而C++不是4.C#能否對內(nèi)存進行直接的操作?(這可是個難點哦?要注意!)能夠5.用VisualC++編寫的代碼(unmanagedcode),如何在CLR下和其余dotnetcomponent聯(lián)合?6.從前作過的一些項目?介紹一下自己的編程經(jīng)驗。(這是蒙混可是去的,基本一問就知道是真是假)7.你對企業(yè)有什么希望?你的薪資希望值?為何學(xué)計算機?從前的工作經(jīng)驗(這特別重要)?Q3:保護數(shù)據(jù)庫的完好性、一致性、你喜愛用觸發(fā)器還是自寫業(yè)務(wù)邏輯?為何觸發(fā)器,性能好,事務(wù)性Q4:ADO。NET相對于ADO等主要有什么改良?新增dataset等,不需要隨時保持連結(jié),性能提升Q5:ASP。NET與ASP對比,主要有哪些進步?asp解說形,aspx編譯型,性能提升,有益于保護源碼Q6:C#中的拜托是什么?事件能否是一種拜托?拜托是一種安全的函數(shù)指針,事件是一種信息系統(tǒng)、也是拜托Q7:描繪一下C#中索引器的實現(xiàn)過程,能否只好依據(jù)數(shù)字進行索引?Q8:C#中要使一個類支持FOREACH遍歷,實現(xiàn)過程如何?Q10:寫一個HTML頁面,實現(xiàn)以下功能,左鍵點擊頁面時顯示“您好”,右鍵點擊時顯示“嚴禁右鍵”。并在2分鐘后自動封閉頁面。Q11:你對XMLHTTP、WEBSERVICE認識嗎?簡單描繪其特色、作用Q12:接口和抽象類有什么差異?你選擇使用接口和抽象類的依照是什么?接口用于規(guī)范,抽象類用于共性Q13:自定義控件和一般用戶控件的異同?假如要用這二者之一,你會選擇哪一種?為何Q14:大體描繪一下ASP。NET服務(wù)器控件的生命周期Q15:UMLQ16:面向?qū)ο蟮目捶?,主要特色Q17:類區(qū)分的依照。類粒度問題Q18:事物管理問題第一,說說final,finally,finalize的差異。第二,AnonymousInnerClass(匿名內(nèi)部類)能否能夠extends(繼承)其余類,能否能夠implements(實現(xiàn))interface(接口)?第三,StaticNestedClass和InnerClass的不一樣,說得越多越好(面試題有的很抽象)。第四,&和&&的差異。第五,HashMap和Hashtable的差異。第六,Collection和Collections的差異。第七,什么時候用assert。第八,GC是什么?為何要有GC?第九,Strings=newString("xyz");創(chuàng)立了幾個StringObject?第十,等於多少?等於多少?第十一,shorts1=1;s1=s1+1;有什么錯?shorts1=1;s1+=1;有什么錯?第十二,sleep( )和wait( )有什么差異?第十三,Java有沒有g(shù)oto?第十四,數(shù)組有沒有l(wèi)ength( )這個方法?String有沒有l(wèi)ength( )這個方法?第十五,Overload和Override的差異。Overloaded的方法能否能夠改變返回值的種類?第十六,Set里的元素是不可以重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢?是用==還是equals( )?它們有何差異?第十七,給我一個你最常有到的runtimeexception。第十八,error和exception有什么差異?第十九,List,Set,Map能否繼承自Collection接口?第二十,abstractclass和interface有什么差異?第二十一,abstract的method能否可同時是static,能否可同時是native,能否可同時是synchronized?第二十二,接口能否可繼承接口?抽象類能否可實現(xiàn)(implements)接口?抽象類能否可繼承實體類(concreteclass)?第二十三,啟動一個線程是用run( )還是start( )?第二十四,結(jié)構(gòu)器Constructor能否可被override?第二十五,能否能夠繼承

String

類?第二十六,當(dāng)一個線程進入一個對象的一個

synchronized

方法后,其余線程能否可進入此對象的其余方法

?第二十七,

try{}里有一個

return

語句,那么緊跟在這個

try

后的

finally

{}

里的code會不會被執(zhí)行,什么時候被履行,在

return

前還是后

?第二十八,編程題

:

用最有效率的方法算出

2乘以

8等於幾

?第二十九,兩個對象值相同

(y)==true)

,但卻可有不一樣的

hashcode

,這句話對不對

?第三十,當(dāng)一個對象被看作參數(shù)傳達到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里究竟是值傳達還是引用傳達?第三十一,swtich能否能作用在byte上,能否能作用在long上,能否能作用在String上?第三十二,編程題:寫一個Singleton出來。有幾種用法第一種:newClass( );第二種:覆蓋方法publicnewXXXX( ){}第三種:new拘束指定泛型類申明中的任何種類參數(shù)都一定有公共的無參數(shù)結(jié)構(gòu)函數(shù)。2.如何把一個array復(fù)制到arrayList里foreach(objectoinarray)(o);能夠連結(jié)什么數(shù)據(jù)源[dataset,datatable,dataview]dataset,datatable,dataview,IList概括反射和序列化反射:程序集包含模塊,而模塊包含種類,種類又包含成員。反射則供給了封裝程序集、模塊和種類的對象。您能夠使用反射動向地創(chuàng)立種類的實例,將種類綁定到現(xiàn)有對象,或從現(xiàn)有對象中獲取種類。而后,能夠調(diào)用種類的方法或接見其字段和屬性序列化:序列化是將對象變換為簡單傳輸?shù)母袷降倪^程。比方,能夠序列化一個對象,而后使用HTTP經(jīng)過Internet在客戶端和服務(wù)器之間傳輸該對象。在另一端,反序列化將從該流從頭結(jié)構(gòu)對象。5.概括o/rmapping的原理利用反射,配置將類于數(shù)據(jù)庫表映照類成員有( )種可接見形式可接見形式?不懂??山右娦裕簆ublic,protected,private,internal用sealed修飾的類有什么特色sealed修飾符用于防范從所修飾的類派生出其余類。假如一個密封類被指定為其余類的基類,則會發(fā)生編譯時錯誤。密封類不可以同時為抽象類。sealed修飾符主要用于防范非存心的派生,可是它還可以促進某些運轉(zhuǎn)時優(yōu)化。詳盡說來,因為密封類永久不會有任何派生類,所以對密封類的實例的虛假函數(shù)成員的調(diào)用能夠變換為非虛假調(diào)用來辦理。列舉中的五個主要對象,并簡單描繪connection,command,dataReader,trans,dataset...履行下邊代碼后:StringstrTemp="abcdefg某某某";IntiIntj=;問:i=(14);j=(11)i=(14);j=(11)中文兩個字節(jié)#中,stringstr=null與stringstr="",請盡量用文字說明差異。(重點:說明詳盡的內(nèi)存空間分派)stringstr=""分派空間11.詳述.NET里class和struct的異同!class:放在?struct放在?struct值傳達類與結(jié)構(gòu)有好多相像之處:結(jié)構(gòu)能夠?qū)崿F(xiàn)接口,并且能夠擁有與類相同的成員種類??墒牵Y(jié)構(gòu)在幾個重要方面不一樣于類:結(jié)構(gòu)為值種類而不是引用種類,并且結(jié)構(gòu)不支持繼承。結(jié)構(gòu)的值儲存在“在貨倉上”或“內(nèi)聯(lián)”。仔細的程序員有時能夠經(jīng)過聰慧地使用結(jié)構(gòu)來加強性能。概括.NET里對remoting和webservice兩項技術(shù)的理解和實質(zhì)中的應(yīng)用。遠程邏輯調(diào)用,remoing接口只好用在中什么是code-behind技術(shù)aspxandcs概括三層結(jié)構(gòu)系統(tǒng)web/business/dataaccess如何實現(xiàn)MVC模式,舉例說明!web/business/dataaccess面向?qū)ο蟮乃枷胫饕裁???這個題范圍太廣,不知道說什么.什么是中的用戶控件答:用戶控件就是.ascx擴展名的東西嘍,能夠拖到不一樣的頁面中調(diào)用,以節(jié)儉代碼.比方登岸可能在多個頁面上有,就能夠做成用戶控件,可是有一個問題就是用戶控件拖到不一樣級其余目錄下后里面的圖片等的相對路徑會變得不正確,需要自已寫方法調(diào)整.3.什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強種類系統(tǒng)?什么是裝箱和拆箱?什么是重載?CTS、CLS和CLR分別作何解說?答:裝箱就是把值種類轉(zhuǎn)成引用種類,從MSIL角度看憂如是boxing,沒記錯的話是把值從貨倉轉(zhuǎn)到堆中.拆箱相反,重載就是指一個方法名同,參數(shù)個數(shù)不一樣,返回值能夠相同的方法.CLR是通用語言運轉(zhuǎn)時,其余的不清楚.列舉一下你所認識的XML技術(shù)及其應(yīng)用答:XML可是好東西,保存配置,站與站之間的溝通,WEBSERVICE都要用它.5.值種類和引用種類的差異?寫出C#的樣例代碼。答:結(jié)構(gòu)是值種類,類是引用種類,所以傳結(jié)構(gòu)就是值種類的應(yīng)用啦,傳對象或類就是引用種類的,這個不用多寫了吧.中常用的對象有哪些?分別描繪一下。答:connectioncommandsqladapterdatasetdatatabledataview等等.寫不完了.如何理解拜托?答:聽聞相當(dāng)于函數(shù)指針,定義了拜托就能夠在不調(diào)用原方法名稱的狀況下調(diào)用那個方法.msdn2005中是這樣解說的:拜托擁有以下特色:拜托近似于C++函數(shù)指針,但它是種類安全的。拜托同意將方法作為參數(shù)進行傳達。拜托可用于定義回調(diào)方法。拜托能夠鏈接在一同;比方,能夠?qū)σ粋€事件調(diào)用多個方法。方法不需要與拜托署名精準般配。有關(guān)更多信息,請拜見協(xié)變和逆變。C#版引入了匿名方法的看法,此類方法同意將代碼塊作為參數(shù)傳達,以取代獨自定義的方法。#中的接口和類有什么異同。答:這個異同可多了,要求情楚還真不簡單.。net中讀寫數(shù)據(jù)庫需要用到哪些類?他們的作用答:這個類自已能夠?qū)懙陌?你是指基類嗎?那configuration,sqlconnection,sqlcommand等都要用到.連結(jié)和TCP連結(jié)的異同。答:前者盡管傳,不論數(shù)據(jù)到不到,不必建立連結(jié).后者保證傳輸?shù)臄?shù)據(jù)正確,須要連結(jié).的身份考證方式有哪些?分別是什么原理?答:form認證,windows集成認證等,原理不清楚.進度和線程分別怎么理解?答:進度是老子,線程是兒子,沒有老子就沒有兒子,一個老子能夠有多個兒子.一個兒子能夠成為他人的兒子,一個老子也能夠為其余老子生兒子.13.什么是code-Behind技術(shù)。答:代碼分別,這是個理智的東西,像ASP這樣混成一堆很不爽.或許能夠理解成HTML代碼寫在前臺,C#代碼寫在后臺.自然前臺也有腳本,類的調(diào)用等,其實寫在一同也是能夠的.活動目錄的作用。答:這個不理解.請理解的增補一下.中讀寫XML的類都歸屬于哪些命名空間?答:我自已寫的就不必定了,嘿嘿.解說一下UDDI、WSDL的意義及其作用。答:什么東西?什么是SOAP,有哪些應(yīng)用。答:SOAP(SimpleObjectAccessProtocol)簡單對象接見協(xié)議是在分別或分布式的環(huán)境中互換信息并執(zhí)行遠程過程調(diào)用的協(xié)議,是一個鑒于XML的協(xié)議。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)議),能夠同意任何種類的對象或代碼,在任何平臺上,以任何向來語言互相通訊。這類互相通信采納的是XML格式的信息,詳盡請看如何部署一個頁面。答:隨意啦,想直接上傳就直接上傳,想打包成EXE就打包,看個人喜好.如何理解中的垃圾回收系統(tǒng)。答:GC?對象創(chuàng)立了總要除掉啊,不然內(nèi)存哪夠用?20.常用的調(diào)用webservice方法有哪些?答:調(diào)用就調(diào)用,還有好多方法嗎?以上有答案的僅供參照(不必定正確哦),假如你有更好的答案請答復(fù)告訴我.閱讀:CSDN-文談?wù)摚簷n中心參加評-.NET論許久從前的一個sql面試題及答標題案.選擇自kgdiwss的Blog許久從前的重點字一個sql面試題及答案.出處今日忽然想起來許久從前的一個sql面試題,在同事的幫助下終于實現(xiàn)了.在此對題目詳盡數(shù)據(jù)記不清了,可是大體意思相同,要求在查問分析器中達成,題目以下:表className中有以下分類:classIDclassName1衣服2褲子5帽子10鞋子表productInfo有以下記錄:productIDproductNameparentID1男士衣服1衣服類型中這條記錄的點擊率最高2女士衣服13男士褲子24女士褲子2褲子類型中這條記錄點擊率最高5男士帽子56女士帽子5帽子類型中這條點擊率最高7男士鞋子10子類型中這條點擊率最高8女士鞋子109女士鞋子110此刻要求分別把衣服,褲子,帽子,鞋子這些類型中點擊率最高的一條記錄找出來,而后再降序擺列,productIDproductNameclickNum1男士衣服4女士褲子7男士鞋子6女士帽子以下為實現(xiàn)過程:/*功能:搜尋類型表[className]中的每個類型下點擊率最高的那條記錄,而后將這些記錄降序擺列作者:vivianhu整理:kgdiwss(我不過增添了說明以及重命名了一些變量)日期:2006-4-17*//*假如存在暫時表tTable,則先將它刪除*/ifexists(select*fromwhereid=object_id(N'[dbo].[tTable]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[tTable]GO/*創(chuàng)立暫時表*/createtabletTable(productidint,productnamevarchar(10),clicknumint)/*變量申明*/declare@classIDint/*定義游標*/declarecursor_classIDCURSORFORSELECTclassIDFROMclassName/*翻開游標@@FETCH_STATUS返回被FETCH語句履行的最后游標的狀態(tài),而不是任何目前被連結(jié)翻開的游標的狀態(tài)。表示FETCH語句成功。*/OPENcursor_classIDFETCHNEXTFROMcursor_classIDINTO@classIDWHILE@@FETCH_STATUS=0/*搜尋某一類型中點擊率最高的一條記錄*/BEGINinsertintotTableselecttop1productID,productName,clickNumfromproductInfowhereparentID=@classIDorderbyclickNumdescFETCHNEXTFROMcursor_classIDINTO@classIDEND/*封閉游標*/CLOSEcursor_classID/*刪除游標引用*/DEALLOCATEcursor_classID/*對暫時表中的記錄依據(jù)點擊率進行降序擺列*/select*fromtTableorderbyclickNumdesc/*刪除暫時表*/droptabletTable一條語句搞定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:假如你的簡歷上邊寫“熟習(xí)/認識C#”,那么你就應(yīng)當(dāng)能夠回答下邊的這些基礎(chǔ)問題。我將給出自己的簡要答案以供參照。歡迎談?wù)摗<偃缡恰熬珪浴?,那么請參照:傳入某個屬性的set方法的隱含參數(shù)的名稱是什么?value,它的種類和屬性所聲名的種類相同。如何在C#中實現(xiàn)繼承?在類名后加上一個冒號,再加上基類的名稱。C#支持多重繼承么?不支持。能夠用接口來實現(xiàn)。被protected修飾的屬性/方法在哪處能夠接見?在繼承或間接繼承與這個類的子類中能夠接見。私有成員會被繼承么?會,可是不可以被接見。所以看上去他們仿佛是不可以被繼承的,但實質(zhì)上的確被繼承了。6.請描繪一下修飾符protectedinternal。被protectedinternal修飾的屬性/方法只好在它的在同一個程序集(Assembly)中的子類被接見。C#供給一個默認的無參數(shù)結(jié)構(gòu)函數(shù),當(dāng)我實現(xiàn)了其余一個有一個參數(shù)的結(jié)構(gòu)函數(shù)時候,還想保存這個無參數(shù)的結(jié)構(gòu)函數(shù)。這樣我應(yīng)當(dāng)寫幾個結(jié)構(gòu)函數(shù)?兩個,一旦你實現(xiàn)了一個結(jié)構(gòu)函數(shù),C#就不會再供給默認的結(jié)構(gòu)函數(shù)了,所以需要手動實現(xiàn)那個無參數(shù)結(jié)構(gòu)函數(shù)。C#中所有對象共同的基類是什么?.重載和覆寫有什么差異?重載供給了對一個方法署名的不一樣參數(shù)調(diào)用的實現(xiàn)。覆寫供給了子類中改變父類方法行為的實現(xiàn)。在方法定義中,virtual有什么含意?被virtual修飾的方法能夠被子類覆寫。能夠?qū)⒎庆o態(tài)的方法覆寫成靜態(tài)方法么?不可以,覆寫方法的署名一定與被覆寫方法的署名保持一致,除了將virtual改為override。能夠覆寫私有的虛方法么?不可以夠,甚至子類中沒法接見父類中的私有方法。能夠阻擋某一個類被其余類繼承么?能夠,使用重點字sealed。能夠?qū)崿F(xiàn)同意某個類被繼承,但不一樣意此中的某個方法被覆寫么?能夠,標記這個類為public,并標記這個方法為sealed。15.什么是抽象類(abstractclass)?一種不可以夠被實例化的類。抽象類中一般含有抽象方法,自然也可有詳盡實現(xiàn)。繼承類只有實現(xiàn)過所有抽象類的抽象方法后才能被實例化。何時一定申明一個類為抽象類?當(dāng)這個類中包含抽象方法時,或是該類并無完好實現(xiàn)父類的抽象方法時。接口(interface)是什么?只含有共有抽象方法(publicabstractmethod)的類。這些方法一定在子類中被實現(xiàn)。為何不可以指定接口中方法的修飾符?接口中的方法用來定義對象之間通訊的契約,指定接口中的方法為私有或保護沒存心義。他們默認為公有方法。能夠繼承多個接口么?自然。那么假如這些接口中有重復(fù)的方法名稱呢?這類狀況中你能夠決定如何實現(xiàn)。自然需要特別得當(dāng)心。可是在編譯環(huán)節(jié)是沒有問題的。接口和抽象類的差異是什么?接口中所有方法一定是抽象的,并且不可以指定方法的接見修飾符。抽象類中能夠有方法的實現(xiàn),也能夠指定方法的接見修飾符。如何差異重載方法?不一樣的參數(shù)種類,不一樣的參數(shù)個數(shù),不一樣的參數(shù)次序。const和readonly有什么差異?const重點字用來申明編譯經(jīng)常量,readonly用來申明運轉(zhuǎn)經(jīng)常量。和有什么差異?是不可以變的字符串。寄存了一個可變的字符串,并供給一些對這個字符串改正的方法。本貼子以“現(xiàn)狀”供給且沒有任何擔(dān)保,同時也沒有授與任何權(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è)計的問題。答復(fù)更多談?wù)?re:C#面試基礎(chǔ)問題2006-04-0214:48|DflyingChen@PhoenixHuang是的,自然這些也觀察了C#的語言基礎(chǔ)。答復(fù)更多談?wù)?re:C#面試基礎(chǔ)問題2006-04-0217:15|林子不錯!可是假如答案假如能再OO一些那就現(xiàn)好了!答復(fù)更多談?wù)搑e:C#面試基礎(chǔ)問題2006-04-0218:29|DflyingChen@林子歡迎您提出改正的建議:)答復(fù)更多談?wù)?re:C#面試基礎(chǔ)問題2006-04-0222:41|裝置腦袋有幾道題的答案錯誤,列出來供你面試時參照:C#支持多重繼承么?答案是類之間不支持,接口之間支持。類對接口叫做實現(xiàn),不叫繼承。6請描繪一下修飾符protectedinternal。正確答案是,在同一個Assembly中,他的接見級別和public相同,而跨Assembly接見時,他的接見級別同protected相同。即protected的范圍+internal的范圍。能夠?qū)⒎庆o態(tài)的方法覆寫成靜態(tài)方法么?答案并無大錯,不過靜態(tài)方法根本無override看法,屬于惹起疑惑的問題能夠阻擋某一個類被其余類繼承么?答案沒錯,可是假如應(yīng)試者提到將所有結(jié)構(gòu)函數(shù)的接見級別都設(shè)為Private或子類沒法接見到的其余級別(Assembly外的internal),也有相同的成效。能夠?qū)崿F(xiàn)同意某個類被繼承,但不一樣意此中的某個方法被覆寫么?相同是可能惹起疑惑的題。因為默認(不帶virtual)的方法就是不可以被override的。帶sealed的方法必然是被override過的。接口和抽象類的差異是什么?還有一個簡單被忽視的差異,C#不一樣意接口帶有靜態(tài)成員,盡管這不是.NET的限制。23const和readonly有什么差異?還有一些差異,當(dāng)應(yīng)試者提到時你不可以說是錯的:作字段時const隱含靜態(tài),const能夠是局部的,readonly能夠在結(jié)構(gòu)函數(shù)中初始化等。答復(fù)更多談?wù)搑e:C#面試基礎(chǔ)問題2006-04-0309:32|DflyingChen@裝置腦袋C#支持多重繼承么?答案是類之間不支持,接口之間支持。類對接口叫做實現(xiàn),不叫繼承。inheritaninterface沒有什么不當(dāng),為何中文就不可以夠?6請描繪一下修飾符protectedinternal。--正確答案是,在同一個Assembly中,他的接見級別和public相同,而跨Assembly接見時,他的接見級別同protected相同。即protected的范圍+internal的范圍。同一個Assembly中依舊是protected,您能夠查閱一下有關(guān)資料。能夠?qū)⒎庆o態(tài)的方法覆寫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論