2024年個人的Net面試題大全_第1頁
2024年個人的Net面試題大全_第2頁
2024年個人的Net面試題大全_第3頁
2024年個人的Net面試題大全_第4頁
2024年個人的Net面試題大全_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

2.列舉ASP.NET頁面之間傳遞值的幾種方式。

答:

>QueryString是一種非常簡樸的傳值方式,他可以將傳送時值顯示在瀏覽器的地址欄中。

假如是傳遞一種或多種安全性規(guī)定不高或是構(gòu)造簡樸的數(shù)值時,可以使用這個措施。不

過對于傳遞數(shù)組或?qū)ο蟮脑挘筒荒苡眠@個措施了。

>Application對象的作用范圍是整個全局,也就是說對所有顧客均有效。其常用的措施

用Lock和UnLock.

ASessi。n變量想必這個肯定是大家使用中最常見的使用措施了,作用于顧客個人,因此,

過量的存儲會導(dǎo)致服務(wù)器內(nèi)存資源的耗盡。

>Cookie對象變量這個也是大家常使用的措施,與Session同樣,其是什對每一種顧

客而言的,不過有個本質(zhì)的區(qū)別,即CoOkie是寄存在客戶端的,而session是寄存在

服務(wù)器端的。并且Cookie的使用要配合ASP.NET內(nèi)置對象Request來使用。

>Server.Transfer措施這個才可以說是面象對象開發(fā)所使用的措施,其使用Server.T

ransfer措施把流程從目前頁面引導(dǎo)到另一種頁面中,新的頁面使用前一種頁面的應(yīng)答流,

因此這個措施是完全面象對象的,簡潔有效。

3.一列數(shù)的規(guī)則如下:1、1、2、3、5、8、13、21、34求第30位數(shù)是多少,用

遞歸算法實現(xiàn)。

答:publicstaticintCaIculate(intx)

intretint1;

if(x>2)

returnCalcu1ate(x-2)+Ca1cu1ate(x-1);

)

e1se

returnretInt;

)

4.C#中的委托是什么?事件是不是一種委托?

答:委托是一種定義措施簽名的類型,可以與具有兼容簽名的任何措施關(guān)聯(lián)。可以通過

托調(diào)用措施。委托用于將措施作為參數(shù)傳遞給其他措施。

委托具有如下特點:

>委托類似于C++函數(shù)指針,但它們是類型安全的。

>委托容許將措施作為參數(shù)進行傳遞。

>委托可用于定義回調(diào)措施。

>委托可以鏈接在一起;例如,可以對一種事件調(diào)用多種措施。

>措施不必與委托簽名完全匹配。

事件是一種特殊的委托。

5.override與重載的區(qū)別

答:

Override:要擴展或修改繼承的措施、屬性、索引器或事件的抽象實現(xiàn)或虛實現(xiàn),重寫的基措施必

須與override措施具有相似的I簽名。

措施重載:一種類中可以有一種以上的措施擁有相似時名稱。但必須有不相似的簽名。

6.假如在i種B/S構(gòu)造的系統(tǒng)中需要傳遞變量值,不過又不能使用Session、Cookie、App

1ication,您有幾種措施進行處理?

答:Querystring、Server.Transfer措施。

7.請編程遍歷頁面上所有TextBox控件并給它賦值為string.Empty?

答:

foreach(ConIrolcontrolinthis.ControIs)

(

if(controlisTextBox)

(

TextBoxtb=(TextBox)control;

tb.Text=String.Empty;

)

)

8.請編程實現(xiàn)一種冒泡排序算法?

答:

//冒泡排序

pubIicstaticvoidMaoPaoSort(refint[]arrays)

if(arrays!=null&&arrays.Length>0)

for(inti=1;i<arrays.Length;i++)

(

boolisChange=faIse;

for(intj=0;j<arrays.Length-i;j++)

(

if(arrays[j]>arrays[j+1])

(

inttempValue=arrays[j];

arrays[j]=arrays[j+1];

arrays[j+1]=tempVa1ue;

isChange=true;

)

)

if(!isChange)

break;

)

)

)

9.描述一下C#中索引器的實現(xiàn)過程,與否只能根據(jù)數(shù)字進行索引?

答:索引器容許類或構(gòu)造的實例就像數(shù)組同樣進行索引。索引器類似于屬性,不同樣之處在

于它們的訪問器采用參數(shù)。PublicReturnTypethis[paramTypeindex]{get{}se

t{}},可以用任何類型進行索引。

10.求如下體現(xiàn)式的值,寫出您想到的一種或幾種實現(xiàn)措施:1-2+3—4+……+m

答:publiestatIcintsumMethod1(intm)

(

intsum=0;

for(inti=1;i<=m;i++)

{

if(i%2!=0)

sum+=i;

else

sum-=i;

}

returnsum;

)

pub1icstaticintsumMethod2(intm)

intsum=0;

if(m%2!=0)

sum=m/2+1;

else

sum=-(m/2);

returnsum;

)

12.在下面的例子里

classA

{

publieA()

(

PrintFieldsO;

)

publicvirtua1voidPrintFields(){}

}

classB:A

intx=1;

inty;

publicB()

{

y=-1;

)

publicoverridevoidPrintFields()

(

Console.WriteLineCzx={0},y={1}”,x,y);

}

)

當(dāng)使用newB()創(chuàng)立B的實例時,產(chǎn)生什么輸出?

答:X=1,Y=O

13.什么叫應(yīng)用程序域?

答:應(yīng)用程序域(applicationdomain)(AppDomain)一種邊界,它由公共語言運

行庫圍繞同一應(yīng)用程序范圍內(nèi)創(chuàng)立的對象建立(即,從應(yīng)用程序入口點開始,沿著對象激活的

序列的任何位置)。應(yīng)用程序域有助于將在一種應(yīng)用程序中創(chuàng)立的對象與在其他應(yīng)用程序中

創(chuàng)立的對象隔離,以使運行時行為可以預(yù)知。在一種單獨的進程中可以存在多種應(yīng)用程序域。

14.CTS、CLS、CLR分別作何解釋?

答:CTS:通用類型系統(tǒng)。CLS:通用語言規(guī)范。CLR:公共語言運行庫。

15.什么是裝箱和拆箱?

答:裝箱:裝箱轉(zhuǎn)換是指將一種值類型隱式或顯式地轉(zhuǎn)換成一種Object類型,拆箱:拆箱

轉(zhuǎn)換是指將一種對象類型顯式地轉(zhuǎn)換成一種值類型。

16.什么是受管制的代碼?

答:受托管的代碼不能直接寫內(nèi)存,是安全的,它受CLR的內(nèi)存安全管理,而非托管代碼是非

安全代碼,可以使用指針操作內(nèi)存

18.net中讀寫數(shù)據(jù)庫需要用到那些類?他們的作用?

答:DataSet:數(shù)據(jù)存儲器

Connection對象,用來創(chuàng)立和打開,關(guān)閉數(shù)據(jù)庫連接。

Command對象,用來執(zhí)行多種sq1語句或者調(diào)用存儲過程。

Adapter對象,數(shù)據(jù)適配器,用來執(zhí)行SQL語句,配合數(shù)據(jù)集執(zhí)行比較多。

DataReader,只讀的對象,有著很高的J性能。

21.在.net中,配件的意思是?

答:程序集。(中間語言,源數(shù)據(jù),資源,裝配清單)

22.常用時調(diào)用WebService的措施有哪些?

答:1.使用WSDL.exe命令行工具。

2.使用VS.NET中的AddWebReference菜單項選擇項

23..netRemoting的工作原理是什么?

答:服務(wù)器端向客戶端發(fā)送一種進程編號,一種程序域編號,以確定對象的位置。

31.企業(yè)規(guī)定開發(fā)一種繼承類的組件,規(guī)定抵達如下的特殊功能:點擊ListView各列列頭

時,能按照點擊列歐I每行值進行重排視圖中的所有行(排序的方式如DataGrid相似)。根

據(jù)您的知識,請簡要談一下您的思緒

答:根據(jù)點擊的列頭,包該列的名稱取出,按照該列名排序后,再綁定到ListView中。

35.能用foreach遍歷訪問時對象需要實現(xiàn)IEnumerable接口或申明GetEnumerator措

施的類型。

36.GC是什么?為何要有GC?

答:GC是垃圾搜集器。程序員不用緊張內(nèi)存管理,由于垃圾搜集器會自動進行管理。要祈求

垃圾搜集,可以調(diào)用下面的措施之一:System.GC.Col1ect();

37.Strings=newString("xyz");創(chuàng)立了幾種String0bject?

答:兩個對象,一種是“xyx”,一種是指向“xyx”的引用對像s。

38.abstractclass和interface有什么區(qū)別?

答:

抽象類:

>只能用做其他類的基類,它就是被設(shè)計來被繼承的。

>不能創(chuàng)立它日勺實例。

>它使用abstract修飾符來申明。

>抽象類可以包括抽象組員,但不是必須改I,它的組員可以抽象組員和一般帶實現(xiàn)的組員

的任意組合。

>它自己可以派生自另一種抽象類。任何派生自抽象類的類必須使用。verride關(guān)鍵字

實現(xiàn)該類所有的抽象組員,除非派生類自己也是抽象類。

接口:

>接口是體現(xiàn)一組函數(shù)組員而不實現(xiàn)組員的引用類型。其他類和構(gòu)造可以實現(xiàn)接口。

>接口申明不包括數(shù)據(jù)組員。

>接口申明只能包括如下類型的靜態(tài)組員函數(shù)的申明:措施、屬性、事件、索引。

>接口的組員不能包括任何實現(xiàn)代碼,而在每一種組員申明的主體后必須使用分號。

>接口名稱必須從大寫的I開始。它和類同樣,也可以申明成分部接口。

>接口申明可以有任何歐J訪問類型:public、protected、interna1、private。

>接口組員是隱式PublieW、J,不容許有任何訪問修飾符。

1,什么是線程池

為了幫我們減少創(chuàng)立和銷毀線程有關(guān)的成本,CLR為每一種進程維護了一種線程池。一

開始進程的線程池是空的,假如進程使用的線程被創(chuàng)立,并且完畢了線程的執(zhí)行,它不會

被銷毀,而是加入到進程的線程池中,這后,假如進程需要一種此外一種線程,CLR就會

從池中還原一種線程,這就節(jié)省了諸多時間。

39.啟動一種線程是用run。還是start。?

答:啟動一種線程是調(diào)用start()措施,這并不意味著線程就會立即運行,只是進入了可運行

狀態(tài)。直接調(diào)用run()措施不會產(chǎn)生線程,而是把它當(dāng)作一般的措施調(diào)用,立即執(zhí)行

40.接口與否可繼承接口?抽像類與否可實現(xiàn)(implements)接口?抽像類與否可繼承實體

類(concreteclass)?

答:接口可以繼承接口。抽像類可以實現(xiàn)(implements)接口,抽像類與否可繼承實體類,

但前提是實體類必須有明確的構(gòu)造函數(shù)。

41.構(gòu)造器Constructor與否可被override?

答:構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloadingo

42.與否可以繼承String類?

答:不可以,由于String類是密封類,被Sealed修飾符所修飾。

44.兩個對像值相似(x.equak(y)==true),但卻可有不同樣的(hashcode,這句話對不

對?

答:不對,有相似的hashcode?

HashCode:可以簡樸的理解為內(nèi)存的地址。

"==":操作比較的是兩個變量時值與否相等,對于引用型變量體現(xiàn)時是兩個變量在堆中存

的地址與否相似,即棧中的內(nèi)容與否相似。

"equals”:操作體現(xiàn)的兩個變量與否是對同一種對象的引用,即堆中的內(nèi)容與否相似。

而字符串是一種特殊的引用型類型,在C#語言中,重載了string對象的諸多措施措施(包括

equals()措施),使string對象用起來就像是值類型同樣。

45.swtich與否能作用在byte上,與否能作用在long上,與否能作用在String上?

答:可以。

47.當(dāng)一種線程進入一種對象的一種synchronized措施后,其他線程與否可進入此對象的其他

措施?

不能,一種對象日勺一種synchronized措施只能由一種線程訪問。

49.List,Set,Map與否繼承自Collection接口?

答:List,Set是M叩不是

51.數(shù)組有無1ength()這個措施?String有無length()這個措施?

答:數(shù)組和string都沒有Length。措施,只有Length屬性。

52.sleep()和wait()有什么區(qū)別?

答:sleep()措施是將目前線程掛起指定的時間。

wait()釋放對象上的鎖并阻塞目前線程,直到它重新獲取該鎖。

53.shortsi=1;s1=si+1;有什么錯?shortsi=1;si+=1;有什么錯?

答:shortsi=1;s1=si+1;有錯,si是short型,s1+1是int型,不能隱式轉(zhuǎn)化為short

型。可修改為si=(short)(s1+1)oshorts1=1;si+=1對的1。

復(fù)合賦值體現(xiàn)式自動地將所執(zhí)行計算的成果轉(zhuǎn)型為其左側(cè)變量的類型,si+=1等價于sl=

(short)s1+1;

55.怎樣處理幾十萬條并發(fā)數(shù)據(jù)?

答:用存儲過程或事務(wù)。獲得最大標(biāo)識的時候同步更新..注意主鍵不是自增量方式這種措施

并發(fā)口勺時候是不會有反復(fù)主鍵的..獲得最大標(biāo)識要有一種存儲過程來獲取.

56.Session有什么重大BUG,微軟提出了什么措施加以處理?

答:是iis中由于有進程回收機制,系統(tǒng)繁忙的話Session會丟失,可以用Sateserver

或SQLServer數(shù)據(jù)庫的I方式存儲Session不過這種方式比較慢,并且無法捕捉SessionEf-J

END事件。

57.進程和線程的區(qū)別?

答:進程是系統(tǒng)進行資源分派和調(diào)度的單位;線程是CPU調(diào)度和分派的單位,一種進程可以有

多種線程,這些線程共享這個進程的資源。

進程:進程就是一組資源,它們構(gòu)成了--種正在運行的)程序。

線程:在進程中系統(tǒng)創(chuàng)立了一種叫做線程的內(nèi)查對象,線程體現(xiàn)了一種程序的真實執(zhí)行狀況。

有關(guān)線程的一些重要事項如下:

□默認(rèn)情況下,一個進程只包含一個線程,它從程序開始執(zhí)行一直到程序結(jié)束.

□一個線程可以發(fā)起另外一個線程,因此,在任何時候,一個進程都可能在不同狀態(tài)有多

個線程來執(zhí)行程序的不同部分.

□如果一個進程中有多個線程,它們會分享進程的資源.

□線程是由系統(tǒng)負(fù)貴調(diào)度的處理器(而不是進程)上的執(zhí)行單元.

58.堆和棧的區(qū)別?

答:棧是編譯期間就分派好的內(nèi)存空間,因此你的代碼中必須就棧的大小有明確的定義;堆是

程序運行期間動態(tài)分派的內(nèi)存空間,你可以根據(jù)程序的運行狀況確定要分派的堆內(nèi)存的大小。

棧:它是一種內(nèi)存數(shù)組,是一種LIFO的數(shù)據(jù)構(gòu)造,數(shù)據(jù)只能從棧頂插入和刪除。

堆:它是一塊內(nèi)存區(qū)域,在堆里可以分派大塊的內(nèi)存用于存儲某類型的數(shù)據(jù),堆里的內(nèi)存可

以以任意次序存入和取出。

59.組員變量和組員函數(shù)前加static的作用?

答:

>它們用來反應(yīng)類的狀態(tài)。

>靜態(tài)組員它被類的所有實例所共享,所有實例都訪問同一內(nèi)存位置。

>它們獨立于所有的類實例,雖然沒有類實例,也可以調(diào)用類的靜態(tài)組員。

60.ASPoNET與ASP相比,重要有哪些進步?

答:asp解釋形,aspx編譯型,性能提高,可以跟美工的工作分開進行,更有助于團體開發(fā)。

61.產(chǎn)生一種int數(shù)組,長度為100,并向其中隨機插入1—100,并且不能反復(fù)。

publiestaticint[]BuildIntArray()

(

int[]retslnt=newint[100];

List<int>tempList=newList<int>();

Randomrandom=newRandom();

while(tempList.Count<100)

intnum=random.Next(1,101);

if(!tempList.Contains(num))

tempList.Add(num);

)

tempList.Sort();

for(inti=0;i<tempList.Count;i++)

retsInt[i]=ternpList[i];

returnretslnt;

)

62.請闡明在.net中常用的幾種頁面間傳遞參數(shù)的措施,并說出他們的優(yōu)缺陷。

答:

>QueryString傳遞一種或多種安全性規(guī)定不高或是構(gòu)造簡樸的數(shù)值。不過對

于傳遞數(shù)組或?qū)ο蟮脑?就不能用這個措施了

>session(viewstate)簡樸,但易丟失作用于顧客個人,過量的存儲會導(dǎo)致服務(wù)

器內(nèi)存資源的耗盡。

>app1ication對象的作用范圍是整個全局,也就是說對所有顧客均有效。其常用口勺

措施用Lock和UnLock

>cookie簡樸,但也許不支持,也許被偽造Cookie是寄存在客戶端的,而sessi

on是寄存在服務(wù)器端的。并且Cookie的使用要配合ASP.NET內(nèi)置對象Re

quest來使用

input11ype="hidden"簡樸,也許被偽造

>url參數(shù)簡樸,顯示于地址欄,長度有限

>Server.Transfer把流程從目前頁面引導(dǎo)到另一種頁面中,新的)頁面使用前一

種頁面的應(yīng)答流

>數(shù)據(jù)庫穩(wěn)定,安全,但性能相對弱

63.請指出GAC的含義?

答:全局程序集緩存。

GAC(GlobalAssemb1yCache),他的J作用是可以寄存某些有諸多程序都要用到的公

共Assembly。這樣,諸多程序就可以從GAC里面獲得Assembly,而不需要再把所有

要用到的Assembly都拷貝到應(yīng)用程序的執(zhí)行目錄下面。

64.向服務(wù)器發(fā)送祈求有幾種方式?

答:get,post。get一般為鏈接方式,post一般為按鈕方式。

區(qū)別:

Get方式,服務(wù)器端用Request.Qurystring取變量歐)值,安全性不高,傳送數(shù)據(jù)

量小。

post方式,服務(wù)器端用Request.Form獲取提交W-J數(shù)據(jù),安全性高。

提議:

1、get方式的安全性較P。st方式要差些,包括機密信息的話,提議用Post數(shù)據(jù)提交方式;

2、在做數(shù)據(jù)查詢時,提議用Get方式;而在做數(shù)據(jù)添加、修改或刪除時,提議用Post方

式。

65.DataReader與Dataset有什么區(qū)別?

答:

>連接數(shù)據(jù)庫時DataSet是非面向連接的,而DataReader是面向連接的!。

ADataSet體現(xiàn)一種數(shù)據(jù)集,是數(shù)據(jù)在內(nèi)存中的緩存,可以包括多種表,是保留數(shù)據(jù)的數(shù)據(jù)

構(gòu)造。而Datareader不承擔(dān)保留數(shù)據(jù)的I責(zé)任,它只負(fù)責(zé)從數(shù)據(jù)源讀取數(shù)據(jù)到當(dāng)?shù)囟?

它不是數(shù)據(jù)構(gòu)造,而是網(wǎng)絡(luò)通訊組件日勺高層封裝。

>DataSet可以離線處理,前后滾動,而DataReader不能離線處理,且是只讀向前底J,速

度快。

>DataSet可以存儲數(shù)據(jù)庫多種對象的,例如表觸發(fā)器等,可以更新回本來的數(shù)據(jù)庫。

而DataReader只能存儲游標(biāo)識錄,不可以更新回本來的數(shù)據(jù)庫,它類似一種只能向前的

游標(biāo)識錄集。

66.軟件開發(fā)過程一般有幾種階段?每個階段的作用?答:

軟件開發(fā)一般分為五個階段:

>問題的定義及規(guī)劃團此階段是軟件開發(fā)與需求方共同討論,重要確定軟件的開發(fā)目的及

其可行性。

>需求分析

在確定軟件開發(fā)可行性的狀況下,對軟件需要實現(xiàn)的各個功能進行詳細(xì)需求分析。需求

分析階段是一種很重要的階段,這一階段做的好,將為整個軟件項目的開發(fā)打下良好的

基礎(chǔ)。“唯一不變的是變化自身",同樣軟件需求也是在軟件開發(fā)過程中不停變化和深入

的,因此,我們必須定制需求變更計劃來應(yīng)付這種變化,以保護整個項目的正常進行。

A軟件設(shè)計團此階段中要根據(jù)需求分析的成果,對整個軟件系統(tǒng)進行設(shè)計,如系統(tǒng)框架設(shè)計、

數(shù)據(jù)庫設(shè)計等。軟件設(shè)計一般分為概要設(shè)計和詳細(xì)設(shè)計,軟件設(shè)計將為軟件程序編寫打

下良好的基礎(chǔ)。

>程序編碼

此階段是將軟件設(shè)計的成果轉(zhuǎn)化為計算機可運行的程序代碼。在程序編碼中必然要制定

統(tǒng)一、符合原則的編寫規(guī)范。以保證程序的可讀性、易維護性。提高程序的運行效率。

>軟件測試回在軟件設(shè)計完畢之后要進行嚴(yán)密的測試,一發(fā)現(xiàn)軟件在整個軟件設(shè)計過程中

存在的問題并加以糾正。整個測試階段分為單元測試、組裝測試、系統(tǒng)測試三個階段進

行。測試措施重要有白盒測試和黑盒測試。

>6.布署及維護。

67.在c#中using和new這兩個關(guān)鍵字有什么意義,請寫出你所懂得的意義?

Uning:

>using做為命名空間指令:通過在源文獻頂端放置Using命名空間指令以防止不得不

使用長名稱,它告知編譯器你將要使用來自某個指定命名空間的類型。

>using做為別名指令:它容許對一種命名空間或命名空間中的一種類型起一種別名。

>using語句:某些類型的非托管對象有數(shù)量限制或很花費系統(tǒng)資源,這樣在代碼使用

完它們后,就得盡量快的釋放它們,using語句有助于簡化該過程并保證這些資

源被合適的處置。

New:

創(chuàng)立類和構(gòu)造的實例。

>隱藏基類的措施。

>創(chuàng)立匿名類型(var和neW關(guān)鍵字一起使用時可以創(chuàng)立匿名類型,匿名類型只是一

種繼承了ObjectW、J、沒有名稱的類,該類的定義從初始化器中推斷,類似于隱

匿類型化的變量)。

68.需要實現(xiàn)對一種字符串的處理,首先將該字符串首尾的空格去掉,假如字符串中間尚有持

續(xù)空格的J話,僅保留一種空格,即容許字符串中間有多種空格,但持續(xù)的空格數(shù)不可超過一種.

答:團stringstr=Mafdkdaskdfjiksdafj";

stringstrAfter=Regex.Replace(str.TrimO,@”\s+",〃“);

69.下面這段代碼輸出什么?為何?

inti=5;

intj=5;

if(Object.ReferenceEquals(i,j))

Console.WriteLine(vEqua1");

else

Console.WriteLine("NotEqual");

答:NotEqua1,由于RefereneeEquals是Object肚I靜態(tài)措施,用于比較兩個引用類型的)

對象與否是對于同一種對象的引用,對于值類型它總是返回faIse。

34.ReferenceEquals,==zEqua1s的J區(qū)別

>String對于申明的相似的字符串在堆上只保留一種Copy,因此有相似字符串值的兩個

字符串變量將會指向相似的Reference。

>ReferenceEquaIs:

它是Object的靜態(tài)措施,用于比較兩個引用類型的對象與否是對于同一種對象的引用,

對于值類型它總是返回faIse。

>==:回它是一種可以重載的二元操作符,可以用于比較兩個對象與否相等?;貙τ趦?nèi)置

值類型,==判斷的I是兩個對象時代數(shù)值與否相等。它會根據(jù)需要自動進行必要的類型轉(zhuǎn)

換,并根據(jù)兩個對象的值與否相等返回true或者false,而對于顧客定義的值類型,

假如沒有重載==操作符,==將是不可以使用的?;貙τ谝妙愋停?=默認(rèn)的行為與

ReferenceEquals的行為相似,僅有兩個對象指向同一種Reference的時候才返回tr

ue。不過.NETFramework中的)類諸多對==進行了重載,例如String類的)==與Equals

的行為相似,判斷兩個字符串的內(nèi)容與否相等。因此在應(yīng)用中,對于系統(tǒng)定義的引用類

型提議不要使用==操作符,以免程序出現(xiàn)與預(yù)期不同樣的運行成果。

>Equals。:回它對于值類型和引用類型的定義不同樣,對于值類型,類型相似,并且數(shù)值

相似(對于struct的每個組員都必須相似),則Equals返回true,否則返回false。

而對于引用類型,默認(rèn)的行為與RefereneeEquaIs的行為相似,僅有兩個對象指向同一

種Reference區(qū)J時候才返回true??梢愿鶕?jù)需要對Equals進行重載,例如Stri

ng類的)Equals用于判斷兩個字符串的內(nèi)容與否相等。

70.什么叫做SQL注入,怎樣防止?請舉例闡明。

答:運用sql語言漏洞獲得合法身份登陸系統(tǒng)。如身份驗證的程序設(shè)計成:

SqICommandcom=newSqICommand("Select*fromuserswhereusername

="'+t_name.text+"'andpwd='"+t_pwd,text+;

objectobj=com.ExcuteScale();

if(obj!=null)

(

〃通過驗證

)

這段代碼輕易被sql注入。如顧客在t_name中隨便輸入,在t_pwd中輸入1orl='l就

可以進入系統(tǒng)了??梢圆捎脜?shù)化查詢語句進行防止。

71.什么是反射?

答:有關(guān)程序及其類型的數(shù)據(jù)被稱為元數(shù)據(jù)(metadata),它們保留在程序的程序集中。程序

在運行時,可以查看其他程序集及其自身的元數(shù)據(jù),一種運行的程序查看自身及其他程序集

的元數(shù)據(jù)的行為叫做反射(reflection)。

72.用Sing1eton怎樣寫設(shè)計模式

pub1icsealedc1assSun

(

privatestaticSuninstance=null;

privateSun(){)

publicstaticSunTnstance

get

returninstance==nu11?instance=newSun():instance;

)

}

)

73.什么是App1icationPooI?

答:Web應(yīng)用,類似ThreadPooI,提高并發(fā)性能。

74.什么是虛函數(shù)?什么是抽像函數(shù)?

>虛函數(shù):使它們可以在派生類中被重寫,它自身可以有函數(shù)的實現(xiàn)。

>抽像函數(shù):規(guī)定其非虛子類必須實現(xiàn)的函數(shù),必須被重寫,它自身不可有函數(shù)的實現(xiàn)。

75.什么是XML?

答:XML即可擴展標(biāo)識語言(ExtensibleMarkupLanguage)。它是一種以簡樸文本格式

存儲數(shù)據(jù)的方式,這意味著它可以被任何計算機讀取,它在.Net中執(zhí)行大量的任務(wù),包括描

述應(yīng)用程序的配置、在Web服務(wù)之間傳播信息等。

77.什么是ASP.net中歐J顧客控件?

答:顧客控件是可以在其中放置標(biāo)識和Web服務(wù)器控件的容器。然后,可以將顧客控件作

為一種單元看待,為其定義屬性和措施。有了顧客控件,就不必為每個需要相似內(nèi)容的頁面

多次創(chuàng)立顧客界面,編寫代碼,而只需要創(chuàng)立一種顧客控件,在幾種頁面中多次使用。

78.列舉一下你所理解的XML技術(shù)及其應(yīng)用

答:xml用于配置,用于保留靜態(tài)數(shù)據(jù)類型.接觸XML最多的是webServices..和config,soap

協(xié)議

中常用的對象有哪些?分別描述一下。

提供者對象:

>Connection提供到數(shù)據(jù)源的基本連接。

>Command使用它對數(shù)據(jù)源發(fā)出命令。

>CommandBuilder此對象用于構(gòu)建Sql命令,在基于單一表查詢的對象中進行數(shù)據(jù)修

改。

>DataReader這是一種迅速而易用的對象,可以從數(shù)據(jù)源中讀取僅能前向和只讀的數(shù)

據(jù)流。

>DataAdapter它是一種通用的類,可以執(zhí)行針對數(shù)據(jù)源的多種操作,包括更新變動

的數(shù)據(jù),填充DataSet對象以及其他操作。

顧客對象:

>DataSet它體現(xiàn)一組有關(guān)表,在應(yīng)用程序中這些表作為一種單元來引用。

80.什么是code-Behind技術(shù)。

答:Code-Behind技術(shù)也稱為代碼隱藏技術(shù),在ASP.NET中通過ASPX頁面指向CS文

獻的措施實現(xiàn)顯示邏輯和處理邏輯的分離,這樣有助于web應(yīng)用程序的創(chuàng)立。例如分工,美

工和編程時可以個干各的,不用再像此前asp那樣都代碼和htm1代碼混在一起,難以維護。

81.什么是SOAP,有哪些應(yīng)用。

答:SOAP(Simple0bjectAccessProtoco1)簡樸對象訪問協(xié)議,是在分散或分布

式的環(huán)境中互換信息并執(zhí)行遠(yuǎn)程過程調(diào)用的協(xié)議,是一種基于XML的協(xié)議。使用SOAP,

不用考慮任何特定的傳播協(xié)議(最常用的還是協(xié)議),可以容許任何類型的對象或代碼,

在任何平臺上,以任何一種語言互相通信。這種互相通信采用的是XML格式的消息。

82.C#中property與attribute的區(qū)別,他們各有什么用處,這種機制的好處在哪里?

>Attribute是Microsoft.NETFramew。rk文獻的元數(shù)據(jù),可以用來向運行時描述你的J

代碼,或者在程序運行的時候影響應(yīng)用程序的行為。Attribute是派生于System.Att

ribute類之下,它的重要作用是描述

>Property是面向?qū)ο缶幊痰腏基本概念,提供了對私有字段的訪問封裝,在C#中以get和

set訪問器措施實現(xiàn)對可讀可寫屬性日勺操作,提供了安全和靈活的數(shù)據(jù)訪問封裝。

83.XML與HTML的重要區(qū)別

>XML是HTML的補充,而不是HTML的I替代品,XML和HTML是兩種不同樣用途股)語

言。

>XML是被設(shè)計用來描述數(shù)據(jù)的,重點是:什么是數(shù)據(jù),怎樣寄存數(shù)據(jù)。而HTML是被設(shè)

計用來顯示數(shù)據(jù)的,重點是:顯示數(shù)據(jù)以及怎樣顯示數(shù)據(jù)更好上面。

>XML是自由的、可以擴展的,XML標(biāo)識并不是預(yù)先規(guī)定好的,你必須發(fā)明你自XML標(biāo)

識并不是,而在HTML文檔中必須使用規(guī)則中定義好的標(biāo)識。

>XML是辨別大小寫字母的,HTML不辨別。

>在HTML中,假如上下文清晰地顯示出段落或者列表鍵在何處結(jié)尾,那么你可以省略</p>

或者</1i>之類的I結(jié)束標(biāo)識。在XML中,絕對不能省略掉結(jié)束標(biāo)識。

>在XML中,擁有單個標(biāo)識而沒有匹配的結(jié)束標(biāo)識的元素必須用一種/字符作為結(jié)尾。

這樣分析器就懂得不用查找結(jié)束標(biāo)識了。

>在XML中,屬性值必須封裝在引號中。在HTML中,引號是可用可不用的。

>在HTML中,可以擁有不帶值的屬性名。在XML中,所有的屬性都必須帶有對應(yīng)的值。

84.C#中的三元運算符是?

答:?:。

85.當(dāng)整數(shù)a賦值給一種。bject對像時,整數(shù)a將會被?

答:裝箱。

86.類組員有5種可訪問形式?

表7-1成員訪問修飾符

修飾符含義

private只在類的內(nèi)郃可訪問

internal對該程序集內(nèi)所有類可訪網(wǎng)

protected對所外維承該類的類可訪問

protectedinternal對所有繼承該類或在讀程存集內(nèi)聲明的吳可訪問

public對任何類可訪問

87.publicstaticconstintA=1;這段代碼有錯誤么?是什么?

答:const體現(xiàn)的很像靜態(tài)變量,它們對類歐I每個實例都是可見的,并且雖然沒有類的實例

它們也可以使用,而與靜態(tài)變量不同樣的是它沒有自己的存儲位置,而是在編譯時被編譯器

替代,因此它不能申明為Static。

88.floatf=-123.567F;inti=(int)f;i的值目前是-123

將f的值強制轉(zhuǎn)換成int型,也就是將小數(shù)點背面的部分直接截取,保留整數(shù)部分。

89.委托申明的關(guān)鍵字是De1egate。

91.在Asp.net中所有的自定義顧客控件都必須繼承自ControL

92.在.Net中所有可序列化的類都被標(biāo)識為[Serializab1e],

93.在.Net托管代碼中我們不用緊張內(nèi)存漏洞,這是由于有了GC垃圾回收機制。

94.下面的代碼中有什么錯誤嗎?

usingSystem;

classA

(

pub1icvirtuaIvoidF(){

ConsoIe.WriteLine("A.F");

}

abstractclassB:A

publicabstractoverridevoidF();

答:abstractoverride是不可以一起修飾.

95.當(dāng)類T只申明了私有實例構(gòu)造函數(shù)時,則在T的程序文本外部,不可以從T派生出新的類,

由于子類無法調(diào)用父類的構(gòu)造函數(shù),不可以直接創(chuàng)立T的I任何實例。

96.Switch語句歐(格式

switch(1+1)

(

case1:

Console.WriteLine(Z,Wrong,z);

break;

case2:

Console.WriteLine(z,right");

break;

defau1t:

Console.WriteLine("jiaoyanqing");

break;

)

97.在.Net中,類System.Web.ULPage可以被繼承么?

答何以。

98..net的錯誤處理機制是什么?

答:.net錯誤處理機制采用try->catch->finally構(gòu)造,發(fā)生錯誤時,層層上拋,直到找到匹配

的ICatch為止。

異常:它是程序中的運行時錯誤,它違反了一種系統(tǒng)約束或應(yīng)用程序約束,或出現(xiàn)了在正常

操作時未預(yù)料的情形,假如程序沒有提供處理該異常的代碼,系統(tǒng)會掛起這個程序。

雖然在Try塊中有Return語句,Finally塊也總是會在返回到調(diào)用代碼之前執(zhí)行。

99.運用operator申明且僅申明了==,有什么錯誤么?

答:要同步修改Equale和GetHash()?重載了"=="就必須重載"!="

8.62-63=1等式不成立,請移動一種數(shù)字(不可以移動減號和等于號),使得等式成立,怎

樣移動?

答案:62移動成2出J6次方

105.對于這樣的J一種枚舉類型:enumColor:byle(Red,Green,Blue,Orange);

答:string[]ss=Enuin.GetNames(typeof(Color));

Arrayarray=Enum.GetValues(typeof(Color));

107.C#可否對內(nèi)存進行直接的操作?

答:C#可以直接對內(nè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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論